怎么正确的理解和使用co模块?
新人一枚,我知道co模块能够将异步以同步形式操作,并不是真正的同步,但是我不知道在什么情况下才需要去刻意使用它
5 回复
co 通过 yield 一个 Promise, 将Promise的resolve值赋值给 yield 左值, 实现了 async / await, 在 async / await 没有到来时, 使用 co.wrap 一个 generator function, 跟一个 async function 一样, 都是返回一个 Promise实例, 迁移到 async/await 也特别简单, 只需将 co.wrap 换为 async, 将 yield 换为 await 即可, 不用修改该函数被调用的地方… 这样做好理解, 好迁移~建议大家不要裸奔着使用 generator function, 不太好理解, 也不好迁移~