Node. js/ JavaScript中的True Questelism?[已关闭]

o4tp2gmn  于 11个月前  发布在  Node.js
关注(0)|答案(1)|浏览(106)

已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

7天前关闭
Improve this question

const sleep = (ms) => new Promise((resolve) => { setTimeout(resolve, ms) })

async function dbQuery() {
  const start = Date.now();
  await sleep(1000);
  const end = Date.now();
  console.log(end - start);
}

async function main() {
  const list = [1, 2, 3];
  const promises = list.map(m => dbQuery(m));
  await Promise.all(promises);
}

main();

Output:

node-space node is-parallel.js
1003
1009
1009

我希望dbQuery函数在调用所有3个promise时同时执行。现在我正在调用它们并将其推入数组并等待它们,我相信这不是真正的并行,它像是以串行方式调用每个函数并将其推入数组。
sleep函数我已经添加了,所以模拟的东西,

j9per5c4

j9per5c41#

JavaScript中的异步代码允许交错执行代码,但不允许并行执行。
在Node中可以使用worker threads内置模块来实现组件化。如果你想要一个web标准的解决方案,你也可以使用Web Workers

相关问题