CNode

怎么正确的理解和使用co模块?

问答
5526878729发布于10 年前最后回复10 年前6 回复7607 浏览0 收藏

新人一枚,我知道co模块能够将异步以同步形式操作,并不是真正的同步,但是我不知道在什么情况下才需要去刻意使用它

查看回复

回复 (6)

T
topwood#1·10 年前

当你觉得各种callback把代码组织的快炸的时候

I
i5ting#2·10 年前
  1. 学习generator用法
  2. 学习promise/a+规范
  3. 学习co

这是异步流程处理的

M
magicdawn#4·10 年前

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, 不太好理解, 也不好迁移

Z
zmzkkk#6·10 年前

怎么用, 不知道能不能给一个最新的例子?

参与回复
登录后即可参与回复。登录