收益不起作用,但回报确实
这个问题在这里已经有了答案:
通过在join
方法中放入一个yield
语句,可以使它成为一个生成器。 调用生成器方法只是创建一个生成器函数; 你需要遍历它来获取数据。 但是,由于发生器内部的执行每次遇到yield语句都会停止,因此如果要使其完全运行,则需要耗尽其中的所有内容。
通过这种方式,您的代码可以一直运行:
join_gen = bot.join(channels)
for error_msg in join_gen:
print error_msg
Python 2文档中的生成器
虽然我不确定发电机是否适合您。 当您遇到第一个错误时,或者您想要遍历所有渠道,将每个错误响应追加到错误列表中,并在完成后返回该列表,您可能会更好地response
正确答案。