javascript - Node setTimeout 不工作

标签 javascript node.js settimeout

function work(){
    //do some of the heavy computation now
    process.nextTick(work);
}

work();


console.log("started");
setTimeout(function(){ console.log("hi there");}, 1000);

当我运行他的代码时,我得到了 : started,但我从来没有收到消息 hi there。 我做错了什么,还是 Node 有问题?

编辑: 当我将 process.nextTick 替换为 setTimeout 时,它可以工作,但 nextTick 应该更快,或者当我将 setTimeout 替换为 process.nextTick() hello 显示时,它不会等待 1000 毫秒。

最佳答案

使用 setImmediate 是可行的方法

function work(){
    setImmediate(work);
}

work();


console.log("started");
setTimeout(function(){ console.log("hi there");}, 1000);

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

相关文章:

javascript - node.js 中的 response.end 连接丢失

使用 setTimeout 调用时,Javascript 文字会丢失其变量

javascript - setTimeout 和 UIEvent 顺序

javascript - 如何使用 JavaScript 识别客户端?

javascript - 将一些库导入 Angular

node.js - Angular 6 - 请求的资源上不存在 'Access-Control-Allow-Origin' header

angularjs - HTML 和 JSON 响应的 URL 相同

javascript - 如何在函数调用之间设置超时?

javascript - 如何将 html 列表项添加到 javascript 中已创建的列表中?

javascript - 使用 Ajax 延长 PHP session 超时