gpt4 book ai didi

javascript - NodeJS 是否总是/自动异步运行代码?

转载 作者:太空宇宙 更新时间:2023-11-04 03:14:43 24 4
gpt4 key购买 nike

我是 Node.js 新手。而且我担心我的所有代码都会同步运行,因此阻止其他请求会使我的应用程序在处理许多请求时出现滞后、卡住等情况。

如果我写这段代码:

const array = new Array(1000000000);

for (let i=0; i < array.length; i++) {
const item = array[i];
// do a lot heavy lifting with each item
}

Node.js 会自动异步运行该代码吗?

当它仍然运行该代码时,它会阻止其他请求吗?

或者我应该在我的每一段代码上显式声明 async/await 吗?

最佳答案

您可以声明

  • 异步仅适用于函数
  • await 仅用于 Promise(如果没有,Node 会自动将您的代码包装在 Promise 中)

只要你没有任何 Promise,你的代码就是同步的(你可以把它想象成 Java 或 Python)

回调也不一定是异步的,它们只是函数,它们的运行取决于它们所提供的函数的实现。

A.then(B) 将以异步方式运行,其中 A 是 Promise,B 将在当前执行结束后运行

关于javascript - NodeJS 是否总是/自动异步运行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58336516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com