отображение массива возвращает нерешенные обещания - PullRequest
0 голосов
/ 02 июля 2019

У меня есть массив значений, и для каждого значения я хочу вернуть объект, который использует это значение в обещании, у меня есть следующий код:

  const arr= serieses.map(async x => {
    const seriesId = await getSeriesIDFromName(x);
    return { part_id: partID, door_series_id: seriesId[0]["id"] };
  });

когда я печатаю arr после того, как все закончено, я получаю это

[
  Promise { <pending> },
  Promise { <pending> },
  Promise { <pending> },
  Promise { <pending> },
  Promise { <pending> },
  Promise { <pending> }
]

Но если я распечатаю каждое значение до возврата, я получу то, что мне нужно,

{ part_id: 1, door_series_id: 1 }
{ part_id: 1, door_series_id: 12 }
{ part_id: 1, door_series_id: 15 }
{ part_id: 1, door_series_id: 16 }
{ part_id: 1, door_series_id: 8 }
{ part_id: 1, door_series_id: 6 },

как получить arr для скрытия этих значений и объекта обещания?

1 Ответ

2 голосов
/ 02 июля 2019

Вы должны использовать Promise.all() для разрешения всех обещаний в массиве, как это

const arr = serieses.map(async x => {
    const seriesId = await getSeriesIDFromName(x);
    return {part_id: partID, door_series_id: seriesId[0]["id"]};
});

const results = await Promise.all(arr)

results будет содержать массив со значениями, разрешенными для каждого обещания

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...