首页 > 解决方案 > 为什么异步在我的情况下不起作用(Node js)?

问题描述

我是 Node.js 异步/等待的新手。我很难理解 async/await 是如何工作的。如果有人能指出我的学习方向,将不胜感激。

async function loop() {
  let i = 0;
  while (i < 10000) {
    i++;
  }
  console.log('step 2');
}

console.log('step 1');
loop();
console.log('step 3');

期待:'step 1', 'step 3', 'step 2' 按顺序打印,但它正在打印 'step 1', 'step 2', 'step 3' 好像它是同步的。

标签: javascripttypescriptasynchronousasync-await

解决方案


异步函数会立即执行,并且只有在您到达第一await条语句时才会“暂停”。

为此目的使用异步函数并没有多大意义。如果您的目标是稍微稍后执行某些操作,您可能需要process.nextTick.


推荐阅读