Javascript 没有自定义等待函数的并行异步调用

Javascript 没有自定义等待函数的并行异步调用,javascript,async-await,Javascript,Async Await,我想使用异步函数并行运行一个循环。所以我试着: 让计数器=[0,0] 常量计算=asyncx=>{ forlet i=0;i异步函数和Wait允许您编写异步代码,就好像它们是顺序的一样。这意味着,通过等待返回到事件循环,直到知道其操作数承诺的最终命运,代码被迫一个接一个地执行异步操作 await的全部目的是通过代码按顺序步骤获取数据结果,这与并行处理相反,并且不能在同一个异步函数中并行启动两个await操作 如果需要异步进程的并行操作,请创建一个承诺数组,每个承诺对应一个单独的操作结果,例如,

我想使用异步函数并行运行一个循环。所以我试着:

让计数器=[0,0] 常量计算=asyncx=>{ forlet i=0;i异步函数和Wait允许您编写异步代码,就好像它们是顺序的一样。这意味着,通过等待返回到事件循环,直到知道其操作数承诺的最终命运,代码被迫一个接一个地执行异步操作

await的全部目的是通过代码按顺序步骤获取数据结果,这与并行处理相反,并且不能在同一个异步函数中并行启动两个await操作


如果需要异步进程的并行操作,请创建一个承诺数组,每个承诺对应一个单独的操作结果,例如,使用调用执行单个操作的异步函数返回的承诺,并使用一个静态承诺方法(如all、race或SELLED)来处理并行获得的结果

我不确定我是否理解您在这里试图实现的目标,延迟的实际实现是什么样子的?您预期的结果是什么?Async/await只是糖衣覆盖语法,所以我不确定这是否能解决您的问题,但是,我不确定您正试图解决的问题。如果您不使用await,为什么要使用它首先需要异步?你真的在这些循环中执行异步操作吗?这里确实缺少一些细节,循环的实际实现发生了变化,但延迟是一样的。延迟只是用来并行运行两个循环。目前,我正在寻找一种不使用它的方法。我的目标是并行运行多个for循环由于javascript是单线程的,所以实现真正并行的唯一方法是使用webWorkers运行一个主引擎和另一个主引擎。OP注意到异步!==多线程,并且调用堆栈仍然按顺序解析。他还注意到,等待导致将中间位置注入到intermediate call stack,因此看起来它们是同时解析的。您当前在这里概述的内容并没有真正回答或解决他的问题。@user120242我怀疑这篇文章是一个XY问题-标题是在尝试使用wait for失败后询问并行调用,稍后描述为在p中运行多个循环平行。如果OP决定用问题的实质来编辑这个问题,我很乐意重新考虑这个答案的相关性。