Node.js 为什么下面的函数b(在节点JS中)跳过迭代?

Node.js 为什么下面的函数b(在节点JS中)跳过迭代?,node.js,asynchronous,event-loop,Node.js,Asynchronous,Event Loop,我正在研究NodeJS如何执行代码。如果我在两个函数中都将'sleep'参数设置为1,它将按预期工作。 但由于两个函数的延迟不同,它会跳过延迟最长的函数的迭代。 我希望函数b记录从0到99的所有数字,但速度比函数a慢 a() b() 异步函数a(){ 对于(n=1;注释中提到的n<p>As@肯定性能),如果您希望< < >循环,则必须声明变量。为(n=1;NU忘记声明您的代码< n>代码>变量。考虑启用严格模式。您是对的。谢谢您的快速反馈。 a() b() async function

我正在研究NodeJS如何执行代码。如果我在两个函数中都将'sleep'参数设置为1,它将按预期工作。
但由于两个函数的延迟不同,它会跳过延迟最长的函数的迭代。
我希望函数b记录从0到99的所有数字,但速度比函数a慢

a()
b()
异步函数a(){

对于(n=1;注释中提到的n<p>As@肯定性能),如果您希望< <代码> < <代码> >循环,则必须声明变量。<代码>为(n=1;NU忘记声明您的代码< n>代码>变量。考虑启用严格模式。您是对的。谢谢您的快速反馈。
a()
b()

async function a() {
  for (n=1; n<100; n++) {
    console.log('a', n)
    await sleep(1)
  }
}

async function b() {
  for (n=1; n<100; n++) {
    console.log('b', n)
    await sleep(3)
  }
}

function sleep(ms) {
  return new Promise((resolve) => {
    setTimeout(resolve, ms);
  })
} 
'use strict'

a()
b()

async function a() {
  for (let n=1; n<100; n++) {
    console.log('a', n)
    await sleep(1)
  }
}

async function b() {
  for (let n=1; n<100; n++) {
    console.log('b', n)
    await sleep(3)
  }
}

function sleep(ms) {
  return new Promise((resolve) => {
    setTimeout(resolve, ms);
  })
} 
ReferenceError: n is not defined