По сути, у меня есть обещание, которое содержит несколько вызовов API в цикле, который добавляет результаты в массив, который, в свою очередь, разрешается с помощью Promise.all
. Однако кажется, что код никогда не возвращает значения массива в Promise.all
, а просто возвращает неразрешенные обещания.
Вот воспроизведенный код -
function func1(data) {
return new Promise(function(resolve, reject) {
var arr1 = data.split(". ");
var another_arr = arr1.map(function(sent) {
fetch('https://pokeapi.co/api/v2/pokemon/1/')
.then(function(response) {
return response.json();
})
})
resolve(Promise.all(another_arr))
})
}
function func_main() {
var some_string = "This is a sentence. This is another sentence."
this.func1(some_string).then(function(value) {
console.log(value)
})
}
func_main()
https://jsbin.com/vemasopojo/edit?js,console
Выход: [undefined, undefined]
Как мне убедиться, что массив полностью разрешен, прежде чем переходить к его печати?