CNode

koa中间件

分享
Zzhangking520发布于11 年前最后回复11 年前0 回复4651 浏览0 收藏

看了下koa的中间件 实现大概是这样个思路。

var co = require('co'); var list = [];

var s = function*(next){ console.log(1); yield next; console.log(6); }

var a = function*(next){ console.log(2); yield next; console.log(5); } var b = function*(next){ console.log(3); yield next; console.log(4); }

list.push(s,a,b);

var com = function*(){ var i = list.length; var prev = function *(){},curr;

while(i--){
	curr = list[i];
	prev = curr.call(this,prev);
}
yield* prev;

}

co(com).catch(function(e){console.log(e)});


查看回复

回复 (0)

暂无回复,成为第一个参与讨论的人。
参与回复
登录后即可参与回复。登录