如何使用包含JavaScript中的Promise的数组?

时间:2019-04-19 17:15:00

标签: javascript node.js asynchronous

在NodeJS中工作,我有一个返回对象数组的函数。在这些对象中,许多字段由API返回的等待的Promise填充。但是,由于某种原因,这意味着我根本无法在数组中进行操作。例如:

我有一个从api获取的函数,

export async function someFunction(){
  let item = `--API URL HERE--`
  let res = await fetch(item);
  let data = await res.json();
  return data;
}

在另一个异步函数中,我使用该数据构建对象数组,该对象的某些字段填充了该api中的信息,并使用了等待的函数,例如:

let field = await exportedFile.someFunction();

一旦建立了对象数组,就可以使用console.log(array);进行记录,并查看完全填充的数组。但是,console.log(array[1]);返回undefined,console.log(await array[1]);也会返回undefined,尝试将散布运算符卸载到另一个数组中将返回一个空数组,并尝试对其进行字符串化将导致[]。由于console.log(array);确实可以工作并且可以打印正确的数据,所以我知道它是在某个时候建立的,但是无论出于什么原因,数组运算符似乎都拒绝等待。

我在做什么错,如何使用该阵列?

0 个答案:

没有答案