这可能是因为yield在一个不是生成器的函数内部.
是.您无法使用yield回调.
yield
有一种优雅的方法来克服这个问题吗?
取决于用例.通常没有理由真正想要yield回调.
在你的情况下,你想要一个for…of循环,它几乎.forEach在所有方面都优于:
for…of
.forEach
function *giveNumbers() { for (let item of [1, 2, 3]) yield item; }