CNode

koa框架中间件的this指针问题

分享
Zzswnew发布于9 年前最后回复9 年前3 回复4659 浏览0 收藏

koa里的中件间中的回调函数内的this指针是怎么绑定了res, req那些对象的,能给个例子吗 var koa = require('koa'); var app = koa(); app.use(function *(){ this.body = 'Hello World';//这个匿名函数中的this }); app.listen(3000); 求大佬讲解哈嘛

来自酷炫的 CNodeMD

查看回复

回复 (3)

Z
zswnew#1·9 年前

我猜测用的bind函数绑定了含有请求对象函数的this

来自酷炫的 CNodeMD

Y
yviscool#2·9 年前

你都知道了,干嘛不去看源码。

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

Z
ZWkang#3·9 年前

image.png

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