【问题标题】:nexttick callback and promise callback are not output as expectednexttick 回调和 promise 回调没有按预期输出
【发布时间】:2023-02-19 14:55:43
【问题描述】:

我想试试这段代码

process.nextTick(() => console.log(8)) 
Promise.resolve("hi").then(t => console.log(t)) 
console.log(7); 

预期的输出是

7
8
hi

但我的输出是

7
hi
8

我熟悉 nodejs 中的事件循环,但不知道为什么它不能按预期工作。 我还使用了其他在线编译器,它们都输出了预期的结果。 例如 https://onecompiler.com/nodejs/3yyc9qc65

如果有人发生这种情况,或者了解我的环境有问题,请告诉我。

我的 Node.js 版本是 19.6.0。

环境是使用docker的code-server 4.9.1,服务器是unraid 6.11.5。

【问题讨论】:

    标签: node.js promise


    【解决方案1】:

    已解决的承诺在 nextTick() 之前执行回调。事实上,在控制真正进入事件循环之前,已解决的承诺就得到了服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-28
      • 2016-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-03
      • 2019-05-23
      相关资源
      最近更新 更多