初用koa,为啥同一个中间件里的代码会执行两次?
发布于 10 年前 作者 hwoarangzk 6022 次浏览 最后一次编辑是 8 年前 来自 问答

代码如下: 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 回复

favicon?

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

请求了 favicon

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

回到顶部