我正在使用python中的Flask-ask为Alexa构建一个SoundCloud音乐流技巧。我有一个生成器函数,如下所示:
def stream_likes():
url = "http://api.soundcloud.com/me/favorites?oauth_token={}".format(oauth_token)
r = requests.get(url)
response = json.loads(r.text)
for track in response:
yield track.url
fav_generator = stream_likes()
当我在创建迭代器后立即调用next(fav_generator)
时,它可以正常工作。但是,当我从另一个函数内部调用函数时:
@ask.intent('FavoritesIntent')
def play_favs():
stream_url = next(fav_generator)
return audio().play(stream_url)
我收到以下错误代码。
TypeError: next() takes no arguments (1 given)
如果我在没有传递self参数的情况下调用类的方法但是我不知道为什么我在这个实例中得到它,我会理解这个错误。