Обновление даты
Добрый вечер, начал изучать node js написал такой код:
var express = require('express'); //подключил модуль express
var app = express();
var moment = require('moment'); // подключил модуль для работы с датой
//создал в папке views файлик test.ejs
app.set('view engine', 'ejs');
//функция для отображения даты
var dateTime = function () {
moment.locale('ru');
day = moment().format('L');
time = moment().format('LTS');
return day + ' ' + time;
};
// передаю результат функции в файлик test.ejs
app.get('/', function (req, res) {
res.render('newshtml', {date: dateTime()});
});
app.listen(3000); //порт 3000
// в файлике такая строка
<body>
<div><%= date %></div>
</body>
Все замечательно на сейте выводится текущая дата. Теперь сам вопрос, а как сделать чтобы дата обновлялась? В консоль я могу вывести так и все работает:
setInterval(function () {
console.log(dateTime());
},1000);
А как передать в test.ejs внутрь <div>? |
Разобрался я. Подключаем модуль ws:
const WebSocketServer = require('ws').Server;
webSocketServer.on('connection', function(ws){
var timer = setInterval(function(){
ws.send(dateTime());
}, 1000);
console.log("клиент подключился");
ws.on('close', function(){
console.log('клиент отключился');
clearInterval(timer);
});
});
const dateTime = function () {
moment.locale('ru');
day = moment().format('L');
time = moment().format('LTS');
return day + ' ' + time;
};
|
| Часовой пояс GMT +3, время: 12:50. |