我需要检查请求发送到服务器的时间。为此我探索了'req'对象。它具有'_startTime'属性,它为我提供发送请求的客户机的系统时间。
我无法找到此属性的官方文档。
答案 0 :(得分:0)
从我所看到的情况来看,_startTime
不是Express在请求对象上设置的内容。
记录器模块morgan
添加了它,但是通常名称以下划线开头的属性是“私有的”:它们仅供内部使用,不应该依赖。
但是,自己添加这样的属性并不是很困难。在Express中,最合乎逻辑的方法是使用中间件函数:
app.use((req, res, next) => {
req._requestStarted = new Date();
next();
});
因为您自己的应用程序代码设置了此属性,所以您始终可以依赖它(而不是_startTime
,因为morgan
供内部使用,可以删除或重命名未来)。
要挑剔:此值不反映发送请求的客户端的系统时间,而是服务器收到请求的服务器上的时间。在HTTP中,客户端通常不会发送自己的本地时间和请求。