Я хочу вернуть обещание.all () с переменной источника, локально определенной ниже, чтобы я мог использовать обещание при вызове sourceRequest.then ((sources) => {// сделать что-то}) вот мой код:
var sourceRequest=(...countries)=>{
var sources=[];
var promisesCollection=[];
for(var country of countries)
{
var promise=this._vm.$axios.get('/sources',{params:{ country,language:'en'}})
.then(response=>{
sources.push(response.data.sources);
});
promisesCollection.push(promise);
}
Promise.all(promisesCollection).then(()=>{
return new Promise((resolve)=>resolve(sources));
})
};
sourceRequest('in').then((sources)=>console.log(sources));
Проблема в том, что я получаю неопределенное в консоли Обходной путь: У меня есть обходной путь, но проблема в том, что я хочу, чтобы функция возвращала источники, а не запросы API-запросов:
//this works
var sourceRequest=(...countries)=>{
var promisesCollection=[];
for(var country of countries)
{
var promise=this._vm.$axios.get('/sources',{params:{ country,language:'en'}})
promisesCollection.push(promise);
}
return Promise.all(promisesCollection);
};
sourceRequest('in').then((response)=>{console.log(response)});