前天在石墨文档面试,面试官问到了下面这个问题, [在Express中怎样像koa一样计算x-response-time?] 当时稀里糊涂说了一大堆,总感觉没有说到重点。
这个问题说白了就是怎样计算服务器响应某个请求所花的时间。在同步编程时候语言中,在代码的前后分别记录起始和结束时间,二者之差既是该段代码执行所花费的时间。但是Node是异步执行的,代码片段执行到了末尾,并不代表该代码片段已经执行完毕,因为可能有其他回调函函数还未执行。
到目前为止我还没找到什么好的方法在Nodejs中测量代码片段的执行时间。但是在Express中我们可以通过监听res的'finished’事件来获响应结束的时间。