koa框架中间件的this指针问题
koa里的中件间中的回调函数内的this指针是怎么绑定了res, req那些对象的,能给个例子吗 var koa = require(‘koa’); var app = koa(); app.use(function *(){ this.body = ‘Hello World’;//这个匿名函数中的this }); app.listen(3000); 求大佬讲解哈嘛
来自酷炫的 CNodeMD
3 回复
我猜测用的bind函数绑定了含有请求对象函数的this
来自酷炫的 CNodeMD
你都知道了,干嘛不去看源码。
function convert (mw) {
...
const converted = function (ctx, next) {
return co.call(ctx, mw.call(ctx, createGenerator(next)))
}
...
return converted
}
const ctx = this.createContext(req, res);
mw就是是generator