异步/等待解析JSON

时间:2019-02-27 15:32:44

标签: javascript json async-await

所以我有一段类似于这里的代码,需要对其进行重构以使用map / forEach。

       async function asyncForEach(array, callback) {
          for (let index = 0; index < array.length; index++) {
              await callback(array[index], index, array);
          }
       }

但是当我使用下面的map时,它只是解析整个json,而无需等待数组的各个条目在回调函数中延迟发送每个条目。

      async function asyncForEach(array, callback) {
       await array.map(async (item, index) => {
         await callback(array[index], index, array);
       });
      }

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您必须在数组上将Promise.all用作await(尽管它包含了promises)没有作用:

 await Promise.all(array.map(/*...*/));

我将其写为:

  const asyncForEach = (array, callback) =>
     Promise.all(array.map(callback));
相关问题