相关疑难解决方法(0)

异步函数javascript没有在后台运行?

console.log("1");
  console.log("2"); 
async function a() {
    for (let i = 0; i < 1000000000; i++) {}
    for (let i = 0; i < 1000000000; i++) {}
  }
  a().then(() => console.log("in then"));

  console.log("3!");
Run Code Online (Sandbox Code Playgroud)

我想要的这个输出是这个 1 2 3!在那时

但是 async 函数的行为是同步的,不会让 3! 打印直到长循环执行完毕。我想如果使用 async 关键字,它会在后台运行内部函数吗?我基本上希望 2 个长循环在后台运行。只是想了解异步和等待。谢谢。

编辑:有人能告诉我为什么这也同步工作吗?

  console.log("2");

  function lag(resolve) {
    for (let i = 0; i < 1000000000; i++) {}
    for (let i = 0; i < 1000000000; i++) {}
    console.log("in lag");
    return resolve;
  }
  async function a() {
    // …
Run Code Online (Sandbox Code Playgroud)

javascript async-await

1
推荐指数
1
解决办法
115
查看次数

标签 统计

async-await ×1

javascript ×1