从Generators迁移到Async/Await

Gls*_*nna 8 javascript node.js ecmascript-6 ecmascript-2017

我只是痛苦地意识到生成器函数不能用于等待.只有承诺或异步功能.

我的团队构建了一个完整的应用程序,所有模块都包含生成器函数,从主js文件调用一个Co模块.

除了通过数百个生成器功能并将它们更改function*(...){async function(...){,还有什么方法可以使生成器与async/await一起工作?

没有任何意义,因为yield*/generators和async/await在处理流程方面非常相似,所以我想知道他们是如何错过等待支持生成器的.

Ber*_*rgi 6

你必须通过你的代码库并进行更改,是的(当然你可以编写/使用一个为你做任何事情的工具).

但是你可以,如果你想逐渐做:替换function*async function,里面每一个yield通过await和每一个yield*通过await co(…),然后每次调用前生成功能,从改变co(…)…().