了解学习node中著名的co模块原理,生成器+promise实现async+await

***内容预警*** 新手内容,菜鸟必看,大佬请绕道

首先 co 是一个npm第三方模块,我们需要npm install 之后才能使用它。

作为一个菜鸟我相信你肯定没有用过这个模块,但是据说这个模块很有名,那么我们就有必要来了解一下它了。很多知识就是这样,你现在用不到,但是你要先有一个印象,等你用到的时候就有种豁然开朗的感觉。

官网地址这这里

Generator based control flow goodness for nodejs and the browser, using promises, letting you write non-blocking code in a nice-ish way.

为nodejs和浏览器实现基于生成器的流程控制,使用promise,让你写非阻塞的代码

也就是说,co 模块 使用 Generator生成器函数 和promise, 让我们以同步的形式写异步代码。这个描述是不是有点熟悉?没错我们常用的async + await 的原理就是 Generator + co !

co 的核心代码是使用Generator函数,返回一个promise,其中消耗迭代器的方法,是递归调用一个内部的方法,最后reslove的值就是迭代器返回值的value。

参考

ES6 入门教程https://es6.ruanyifeng.com/#docs/async

Node.js 中的 co 模块 - heptaluan's blogNode.js 中的 co 模块主要用于 Generator 函数的自动执行,可以使我们以同步的形式编写异步代码https://heptaluan.github.io/2019/01/02/Node/02/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值