今天学用 koa.js 写个简单的 demo,代码如下:
import koa from 'koa'
let App = koa()
App.use(function *(next) {
const timestampBefore = new Date().getTime()
yield next
const timestampAfter = new Date().getTime()
console.log(`Process Time: ${timestampBefore - timestampAfter}`)
})
App.use(function *() {
this.body = 'Hello from koa'
})
App.listen(4000)
export default App
很简单的一段代码,按照许多教程里描述的,应该是每请求一次就打印一条该请求的处理时间,但是我运行之后却总是一次打印两条请求的处理时间,这两个时间或者相同或者不同并没有规律,更奇怪的是还会出现负数……
这我就想不明白了,谁能给我解释一下里面的道理?谢谢~
我猜你请求的时候用的是 Chrome 浏览器对吧?如果你打开浏览器的开发者工具观察一下 Network 里的请求,应该可以看到的确是两个请求(说不定更多),其中有一个是去请求
favicon.ico
文件的,这就是你看到一次打印两条请求的原因。至于为什么是负的,如果我没猜错的话如果你重启 server 再试一次,最开始的请求应该不会是负数,至于后面嘛……反正也是乱猜的,不误导你了吧,反正也没啥大不了了。
请求两次是因为请求了
favicon.ico
负数是因为你减反了吧。。。
timestampAfter - timestampBefore