CO函数库

用于 Generator 函数的自动执行,co函数返回一个promise对象

Generator 函数:

协程的概念:A执行— A暂停,执行权给B--- B交回执行权--- A恢复执行

Generator 函数是协程在 ES6 的实现,最大特点就是用yield命令 可以交出函数的执行权(即暂停执行),让异步代码用同步的方法写出。

1. 在需要暂停的地方加yield命令

2. 一般Generator函数的函数名之前要加星号以示区别

3. 调用 Generator 函数,会返回一个内部指针(即遍历器 )

4. Generator 函数内部还可以部署(try..catch…)错误处理代码,捕获函数体外抛出(throw)的错误。

Generator函数 代码示例:

var fetch = require('node-fetch');
//一个Generator函数
function* gen(){
var url = 'https://api.github.com/users/github';
var result = yield fetch(url);
console.log(result.bio);
}
//执行Generator函数
var g = gen();
var result = g.next(); //恢复执行后的结果 result.value.then(function(data){ //promise 回调
return data.json();
}).then(function(data){
g.next(data);
});
var result = yield fetch(url);

这句是不是很像同步代码,除了加上了 yield 命令。

上面代码中,Generator 函数封装了一个异步操作,该操作先读取一个远程接口,然后从 JSON 格式的数据解析信息。

Co函数就是做了这部分工作,让Generator 函数自动执行:

使用方法非常简单:Generator 函数只要传入 co 函数,就会自动执行

var co = require('co');

co(gen).then(function (){ //co函数返回一个Promise对象,以此来添加回调

  console.log('Generator 函数执行完成');

})

Node调试问题记录:

EADDRINUSE  –>  E ADDR IN USE 是指端口已被占用

Error: EPERM: operation not permitted  ->  权限问题,需要使用管理员权限

最新文章

  1. word20161220
  2. OpenCV 3.1 Set Camera Resolution 设置相机的分辨率
  3. oracle函数--trunc
  4. sql server 修改表结构语法大全
  5. http://www.cnblogs.com/0201zcr/p/4987561.html
  6. xtrabackup工具
  7. IOS 多线程编程之Grand Central Dispatch(GCD)介绍和使用 多线程基础和练习
  8. php位运算的应用(转)
  9. 将DataTable转化为json对象
  10. 优先队列(和fence repair完全一样)
  11. S3C6410嵌入式应用平台构建(四)——linux-3.14.4移植到OK6410-(初步启动)
  12. bookStore第三篇【用户模块、购买模块、订单模块】
  13. Codeforces 777B Game of Credit Cards
  14. Adb工具的简单使用
  15. Winform杂项
  16. iOS开发创建UI的耗时操作处理
  17. windows 2012安装不了KB2919355
  18. 动态绑定数据至Html Table
  19. [转]Java 运算符的优先级
  20. 使用web.xml方式加载Spring时,获取Spring context的两种方式

热门文章

  1. matlab中datest() 将日期和时间转换为字符串格式
  2. 【题解】[USACO19DEC]Milk Visits G
  3. SQL数据库删除和还原的时候提示 被占用 记录一下
  4. Centos下Oracle11gR2安装教程与自动化配置脚本
  5. 小程序将base64的多张图片,传到tp5后台
  6. 视频+图文教程 | Java之安装JDK与环境配置
  7. python实现自动生成小学四则运算题目(软工第二次项目作业)
  8. 2014年 实验二 B2C网上购物
  9. 多测师_高级肖sir分享pycharm中设置主题和设置代码颜色方法
  10. 很多人都搞不清楚C语言和C++的关系!今天我们来一探究竟为大家解惑~