怎么正确的理解和使用co模块?
新人一枚,我知道co模块能够将异步以同步形式操作,并不是真正的同步,但是我不知道在什么情况下才需要去刻意使用它
6 回复
当你觉得各种callback把代码组织的快炸的时候
- 学习generator用法
- 学习promise/a+规范
- 学习co
这是异步流程处理的
@i5ting 好的 谢谢
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, 不太好理解, 也不好迁移~
@magicdawn 好的谢谢
怎么用, 不知道能不能给一个最新的例子?