官方API的 net.Server 中 server.listen 有个 demo
server.on('error', function (e) {
if (e.code == 'EADDRINUSE') {
console.log('Address in use, retrying...');
setTimeout(function () {
server.close();
server.listen(PORT, HOST);
}, 1000);
}
});
error 事件触发之后不是会马上触发 close 事件的么?在 setTimeout 的回调中加入 server.close() 不仅多余,而且如果 server 已经 close 掉不是还是抛出异常?