B T*_*B T 0 javascript node.js
我希望能够检测当前脚本是否挂起。为此,我想做这样的事情:
setWeakTimeout(function() {
console.log("Your script is hanging!")
}, 5000)
Run Code Online (Sandbox Code Playgroud)
NormalsetTimeout将不起作用,因为该进程将始终等待调用该超时回调。当脚本没有更多要处理的延续时,我需要一些自动取消的东西。这可能吗?
您可以使用unref:
function setWeakTimeout() {
var ret = setTimeout.apply(this, arguments);
ret.unref()
return ret;
}
setWeakTimeout(function() {
console.log("Your script is hanging!")
}, 5000)
Run Code Online (Sandbox Code Playgroud)
调用unref使 Node 在退出之前不等待此超时完成。上面的代码将立即退出。如果您注释掉对 的调用unref,它将挂起 5 秒钟。
| 归档时间: |
|
| 查看次数: |
236 次 |
| 最近记录: |