JS async\await Сделать переменную из полученных результатов асинхронных функций
Подскажете, пожалуйста как создать массив и заполнить его ответами которые пришли от асинхронных функций.
Вот пример:
async function getMultiArr(){
let multyArr = [];
const arr1 = getOrganicResults("Тестовая фраза 1").then( (result) => {console.log("arr1 =", result);}).catch( (err) => {console.log(err);});
const arr2 = getOrganicResults("Тестовая фраза 2").then( (result) => {console.log("arr2 =", result);}).catch( (err) => {console.log(err);});
const result = await function(){
return multyArr.push([arr1, arr2]);
}
console.log("result =", result);
return result;
}
getMultiArr();
Не могу понять, что я не так передаю в синтаксисе. Мне нужно вернуть массив по типу
multyArr=[ ['Результат из первой асинхронной ф-ции'], ['Результат из второй асинхронной ф-ции'] ]
А мне консоль возвращает result = [Function (anonymous)]
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
.then( (result) => {console.log("arr1 =", result);})
Выкинуть или заменить на
.then(result => (console.log("arr1 =", result), result))
const result = await function(){ return multyArr.push([arr1, arr2]); }
const result = await Promise.all([arr1, arr2])
И вообще не называть промисы arr.