【发布时间】:2017-10-27 03:23:15
【问题描述】:
我这里有点问题。我不知道为什么会这样。我将时间戳代码放入 Moment.js 库中,不仅与该库一起使用,最近我手动创建了用于显示时间戳,但是当我发送请求时,时间未更新。 我把日期时间放在我的文件路径中。但这是在服务器文件中工作。
例如
server.js
var express = require('express')
var app = express()
var moment = require('moment')
app.use(function(req, res, next){
console.log(moment().format('HH:mm:ss') + ' From server.js') //Showing time now
next();
})
app.use('/', index)
app.listen(8001)
路由/index.js
var express = require('express')
var app = express()
var router = express.Router()
var moment = require('moment')
var timestamps = moment().format('HH:mm:ss')
router.get('/', function(req, res){
console.log(timestamps + ' From routes/index.js')
})
module.exports = routes
我第一次开始测试我的代码 获取本地主机:8001/
我的系统时间显示为 16:20:51
[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node ./bin/www`
16:20:51 From Server.js
16:20:51 From routes/index.js
第二个请求我的系统时间显示 16:22:52
[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node ./bin/www`
16:22:52 From Server.js
16:20:51 From routes/index.js
不,第二个请求仍然从第一个请求中获取现有的时间日志,这只发生在路由中。但在 server.js 中工作得很好
这是因为函数外部的可变时间戳而发生的吗?但是当我在没有变量的情况下运行时,它就起作用了。
router.get('/', function(req, res){
console.log(moment().format('HH:mm:ss') + ' From routes/index.js')
})
为什么会发生这种情况? 谢谢
【问题讨论】:
标签: javascript node.js datetime express momentjs