node.js - 一段简单的 Generator 代码,但结果却不是预期的那样,求指点迷津
怪我咯
怪我咯 2017-04-17 13:07:01
0
2
213

今天学用 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

很简单的一段代码,按照许多教程里描述的,应该是每请求一次就打印一条该请求的处理时间,但是我运行之后却总是一次打印两条请求的处理时间,这两个时间或者相同或者不同并没有规律,更奇怪的是还会出现负数……

这我就想不明白了,谁能给我解释一下里面的道理?谢谢~

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
巴扎黑

我猜你请求的时候用的是 Chrome 浏览器对吧?如果你打开浏览器的开发者工具观察一下 Network 里的请求,应该可以看到的确是两个请求(说不定更多),其中有一个是去请求 favicon.ico 文件的,这就是你看到一次打印两条请求的原因。

至于为什么是负的,如果我没猜错的话如果你重启 server 再试一次,最开始的请求应该不会是负数,至于后面嘛……反正也是乱猜的,不误导你了吧,反正也没啥大不了了。

刘奇
  1. 请求两次是因为请求了 favicon.ico

  2. 负数是因为你减反了吧。。。 timestampAfter - timestampBefore

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!