CNode

co 模块的用法,下面两种写法有什么不同吗

问答
Ccrowdwin发布于11 年前最后回复11 年前1 回复4487 浏览0 收藏

var list=[1,2,3,4,5,6]; // 第一种 co(function *(){ var arr=[]; for(var i in list){ arr.push(yield getlist(list[i]) )); } return arr; }).then(function (total){ res.send(total); }, function (err){ next(err); }); //第二种 co(function *(){ var arr=[]; for(var i in list){ arr.push( getlist(list[i]) ); } var all = yield arr; return all; }).then(function (total){ res.send(total); }, function (err){ next(err); });

			不知道上面两种写法哪个是异步,哪个是同步,只从返回结果上面看,两个竟然一模一样。
查看回复

回复 (1)

P
Pana#1·11 年前

getlist 都是异步执行的, 只不多多个 getlist 之间第一个一个一个执行的, 第二种是并行同时执行的

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