gpt4 book ai didi

javascript - Node.js setTimeout 不等待

转载 作者:行者123 更新时间:2023-12-03 00:38:42 26 4
gpt4 key购买 nike

我已经使用 setTimeout 很长时间了,但我无法解释我的 Node js 超时忽略等待时间。

这里是受指责的代码(在 Node 8.11.3 中):

//Here is the issue
socket.on('GameInput', function (input, state) {
setTimeout(socket.player.input, 10000, input, state);
});

//The player constructor is pretty standard
const _PLAYER = function(socket, name) {
//properties
this.input = function(input, state) {
//dosomestuff
io.emit('GameInput', this.name, input, state);
}
}

我只是对玩家输入进行假延迟(以测试可玩性),无论我写多少毫秒都没有效果。

编辑:真正的问题是我没有正确重新启动我的 Node 服务器......好的代码确实是setTimeout(()=>{socket.player.input(input, state);}, 10000);我尝试过,但不重启效果就不那么明显-__-

最佳答案

您需要将超时中的函数包装在函数调用中,否则您将调用该函数,而不是在超时结束时将其传递给完成。

类似这样的事情:

socket.on('GameInput', function (input, state) {
setTimeout(function() { socket.player.input(input, state) }, 10000);
});

关于javascript - Node.js setTimeout 不等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53557205/

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