>I 触发一个事件
socket.emit('release now');
一段时间后,可能会也可能不会触发另一个事件(取决于某些用户输入)。
socket.on('released', function(){
//do stuff
});
但我只想等待最多,比如 5 秒。如果没有,那么无论如何都要继续//do stuff
(改变一些其他小事情)。
我如何使用setTimeout
执行此操作?,或者我应该首先使用它?因为我想不出如何让他们(socket.on('...
和seTimeout
)相互交流......
不确定我是否理解你在追求什么,但 Ill 试一试:
var eventTimeout = setTimeout(function{ /* timeout code here */}, 5000);
socket.emit('release now'); // emit fired and timer set
socket.on('released', function() {
clearTimeout(eventTimeout); // cancel our timeout since we got released on time
// do Stuff
});
所以
/* timeout code here */
如果释放的事件未在 5 秒内发生,将触发。