Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何循环异步/等待?_Javascript_Async Await_Ecmascript 5 - Fatal编程技术网

Javascript 如何循环异步/等待?

Javascript 如何循环异步/等待?,javascript,async-await,ecmascript-5,Javascript,Async Await,Ecmascript 5,我需要多次重复async/await块,但无法使用以下代码: for (let i = 0; i <= 10; i += 1) { const res = await DoSomething(); } for(让i=0;我使用Promise.all如果迭代顺序不重要 如果您不介意代码按顺序运行(意味着每次迭代的顺序无关紧要),只需使用Promise即可。所有: const promises = []; for (let i = 0; i <= 10; i += 1) {

我需要多次重复async/await块,但无法使用以下代码:

for (let i = 0; i <= 10; i += 1) {
   const res = await DoSomething();
 }
for(让i=0;我使用
Promise.all
如果迭代顺序不重要 如果您不介意代码按顺序运行(意味着每次迭代的顺序无关紧要),只需使用
Promise即可。所有

const promises = [];

for (let i = 0; i <= 10; i += 1) {
  promises.push(DoSomething());
}
 
const responses = await Promise.all(promises);
const promises=[];

对于(设i=0;ies9,它为异步迭代添加了一个新特性

for await (const line of readLines(filePath)) {
   console.log(line);
}


您可以试试。希望它能起作用。

可能是重复的。您是想同时呼叫所有人还是一个接一个地(按顺序)呼叫他们?我更愿意按顺序发送。是的,但这个问题在SEOIt上排名更高。值得注意的是,只有在
readLines
是异步生成器的情况下,这里才需要
for await…of
。当语句块中的某些内容需要等待时,简单的
for…of
就可以了。
for await (const line of readLines(filePath)) {
   console.log(line);
}