У меня есть функция, которая выполняет несколько асинхронных вызовов, которые заполняют один и тот же объект возвращаемыми данными. Мне нужно что-то сделать с данными, когда объект полностью заполнен, и поскольку есть несколько вызовов, это не основной сценарий обратного вызова/обещания.Как использовать обещание, когда переменная заполняется из цикла for
Возможно ли создать обещание в таком случае? Упрощенный код:
price_options = [] // when this is populated from all the async calls, I need to do stuff with it
sheet_columns = [3,5,7,89]
useServiceAccountAuth(credentials, function(error){ //google docs api
for (var i = 0; i < sheet_columns.length; i++) {
var params = {column_number: sheet_cols[i]}
do_async_call(params, function (e, data) {
data.forEach(function(item) {
price_options.push(item)
})
})
}
})
Использование 'Promise.all' – Bergi
которые обещают библиотеку вы используете? – Darshan
@ Bergi Можете ли вы уточнить? Я использую Q, только потому, что у меня есть некоторый опыт работы с ним. – ilyo