跳到主要内容
CNode

初用koa,为啥同一个中间件里的代码会执行两次?

问答
Hhwoarangzk发布于 12 年前最后回复 12 年前
368350

代码如下: var app = require('koa')();

var i = 0;

app.use(function *(next) {
	yield next;
    console.info(i++);
});

app.use(function *(next) {
     yield next;
    this.body = 'Hello, total is ' + i;
});

app.listen(3000);

就这样的代码,每次我刷新页面,控制台的i总是+2,为啥不是+1?页面上的i也是+2,很奇怪。。。哪里的问题呢?

查看回复

回复 (3)

H
hwoarangzk#312 年前

有可能是favicon 但我有时候重启服务 又只+1而不是+2 看起来没规律一样

S
Sunyson#212 年前

请求了 favicon

G
GuoZhang#112 年前

favicon?

app.use(function *(next) {
    console.log(this.url);   // 加上这个观察下, 到底收到了几个请求
    yield next;
    console.info(i++);
});

参与回复

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