gpt4 book ai didi

node.js - Node/Socket.io - 如何每 x 分钟发出一个函数/数据

转载 作者:搜寻专家 更新时间:2023-11-01 00:28:45 25 4
gpt4 key购买 nike

我有一个使用 socket.ioNode 服务器。我希望我的 socket 对象每分钟向连接的浏览器发送一次数据。理想情况下类似于 setInterval() 但不是每 x 分钟调用一次,而是查看时间并在分钟执行。

如果我想每 1 分钟发送一次,我想它看起来会像这样。

var data = "someData";
io.on('connection', function (socket) {
socket.emit_every_x_minutes(1, 'myData', data)}
});

这将每 1 分钟定期向客户端套接字发送 "someData"

每 x 分钟发出一次的正确方法是什么 socket.io

最佳答案

为什么不使用 setInterval/setTimeout ?

var data = "someData";
io.on('connection', (socket) => {
setInterval(() => {
socket.emit(1, 'myData', data)}
}, 60 * 1000);
});

如果你想在没有图书馆的情况下每时每刻:

var data = "someData";
const doEveryMinute = (socket) => {
setTimeout(() => {
setInterval(() => doEveryMinute(socket), 60000);
socket.emit(1, 'myData', data)}
}, (60 - date.getSeconds()) * 1000);
}

io.on('connection', (socket) => {
doEveryMinute(socket);
});

如果准确性很重要,那么您将需要像 https://github.com/kelektiv/node-cron 这样的东西.

关于node.js - Node/Socket.io - 如何每 x 分钟发出一个函数/数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46806848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com