我建立了套接字连接,其中在FrontEnd中有一个图形。该图根据用户提供的输入进行更新。在后端,我正在发射数据(发送到前端的数据数组)。是否可以在套接字发出的数组的每个值之间引入延迟?
我曾尝试将代码放入setInterval函数中,但很快我意识到自己的愚蠢之处。我对如何进行一无所知。
io.sockets.on('connection', (socket) => {
console.log(`new connection id: ${socket.id}`);
socket.emit('test event', 'data is getting generated');
//sendData(socket);
socket.on('test', data => {
console.log("DATA ", data);
let start = data.start_val;
const arr = [];
while (start <= data.end_val) {
arr.push(start);
start = start + data.interval;
}
model.data.create({
startvalue: data.start_val,
endvalue: data.end_val,
difference: data.interval
});
socket.emit('response', arr);
});
})
我正在向后端Start_val,end_val和差分发送3个值。这些值用于生成数据。例如-输入:-start_val = 10,end_val = 30,差分=30。然后发送回的数组为[10,20,30]。现在我想知道是否可以在数组的每个值之间提供1秒的时间延迟。即10应该在第一秒到达,20应该在第二秒到达,依此类推。任何帮助深表感谢。
答案 0 :(得分:0)
如何遍历数据并使用setTimeout函数来增加每次迭代的延迟:
INFORMATION_BIT
您一次只能发送回一个号码。在这里,我们将发送回[10] ...,因此在客户端上,您将需要处理如何接收该数据并将其推入用于图形的数组中,或者将其推送到发送后读取该数据的内容。
另一种可能性是在此应用程序的客户端引入此延迟。