0

我写了下面的代码:

socket.setTimeout(2000);
socket.on('timeout', function() {   
    console.log("Timeout");
});
    socket.on('data', function(data){})

我将数据发送到我的套接字,但是当我完成发送此数据时,超时不会发生。

我的代码中没有 socket.end() 。

4

1 回答 1

1

最简单的方法是将超时回调作为一种方法直接传递给 setTimeout ,在那里它将作为一次性侦听器添加到'timeout';

socket.setTimeout(2000, function() {  
    console.log("Timeout");
});
socket.on('data', function(data){})

我以前从未见过监听''事件的语法(我可能错过了一些东西),但是如果你想用它来监听超时的事件on应该被调用'timeout'

于 2013-06-06T17:25:12.630 回答