Что я хотел бы сделать: У меня есть массив названий книг. например,
var bookTitleArray = ["1984", "clockwork Orange"];
Для этого массива я хотел бы вызвать API через ax ios и получить подробную информацию о каждом заголовке.
Что я сделал до сих пор: Для этого я создал запрос array.map, который вызывает ax ios, который заключен в асин * c функцию.
Функция axe ios asyn c выглядит следующим образом:
async function axiosWrapper (Item){
var ItemPromise = axios.request({
url: 'some URL',
method: 'get',
baseURL: 'some URL',
headers: {
'Authorization': 'some authorization'
}
})
var axiosResult = await ItemPromise;
return axiosResult
}
У меня есть console.logged axiosResult, и он возвращает нужные данные обратно. Следовательно, топор ios, кажется, работает
Асин c с обещанием. Все выглядит следующим образом:
async function mapWrapper(ArrayToRunThrough){
var promiseArray = ArrayToRunThrough.map(Item => {
axiosWrapper(Item)
})
var ArrayOfResults = await Promise.all(promiseArray);
console.log(ArrayOfResults);
}
В конце я вызываю mapWrapper с массивом книг Я хотел бы искать
mapWrapper(bookTitleArray)
Что я испытал: К сожалению, я получаю только два массива "undefined".
Мое предположение: Я предполагаю, что Promise.all / ждет, чтобы работать не так, как ожидалось.
Где мне нужна помощь: Как я могу получить фактические значения из вызова Ax ios API в этой настройке в «ArrayOfResults»?