Лучший способ зациклить Axios - PullRequest
0 голосов
/ 27 октября 2019

Мой код работает нормально и возвращает то, что мне нужно, однако мне интересно, есть ли более чистый или, что более важно, более производительный способ сделать это.

Я звоню API, чтобы вернуть мне списокИдентификаторы, затем в приведенном ниже коде я использую следующее для просмотра каждого возвращенного идентификатора. Затем я Promise.all, а затем сглаживаю результаты в массиве.

// Previous API call
console.log(invoices.data) // [1,2,3,4]

// Loop through the array above and collect all details for each ID    
const invoiceDetails = await invoices.data.map(async id => {
  const res = await axios.get(
     `${baseURL}` +
       `invoice/${id}`
  );
  return res.data;
});

// Promise.all results
const invoiceDetailsResponse = await Promise.all(invoiceDetails);

// Once all have returned, flatted into one array
const flattenedinvoiceDetails = [].concat(...invoiceDetailsResponse);

Итак, если все ясно, просто интересно, есть ли у кого-нибудь лучшее предложение о том, как они это сделают?

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