Waj*_*ath 5 javascript node.js promise
当我执行以下代码时,我认为 Node.js 会等到我们调用resolve. 到那时myPromise将处于该<pending>状态。那为什么节点在解析之前就退出了呢?
下面的代码立即退出!
const myPromise = new Promise(resolve => {
  // nothing doing with the resolve
});
myPromise
  .then(() => console.log('result'))
  .catch(error => console.log('error', error));
更新 1:我将 JavaScript 重命名为 Node.js 以避免混淆。
下面的代码立即退出!
保持 Node.js 进程运行的是活跃的正在进行的工作或它的潜力(挂起的计时器、可能接收消息的打开套接字等)。例如,如果您的代码使用了readFilefromfs/promises并且您使用的承诺来自 from,Node.js 不会在您显示的代码末尾终止,因为正在进行一个操作(读取文件) 。来自Node.js 事件循环、计时器和process.nextTick() 指南:
在每次运行事件循环之间,Node.js 都会检查是否正在等待任何异步 I/O 或计时器,如果没有,则彻底关闭。
但在您的示例中,没有任何进展,Node.js 没有等待任何内容,因此它退出。
| 归档时间: | 
 | 
| 查看次数: | 1115 次 | 
| 最近记录: |