У меня есть одна функция, в которой у меня есть цикл for, и при одном конкретном условии я вызываю метод обратного вызова и ожидаю обновления некоторых глобальных переменных на основе значений, полученных из метода обратного вызова.
попытался использовать обещание вместо обратного вызова, но не смог обновить глобальные переменные.
plan_parameters_hidden на самом деле не обновляется, что находится в верхней области.
if (planFound[0].plan_parameters) {
for (var loopParameters = 0; loopParameters < planFound[0].plan_parameters.length; loopParameters++) {
if (planFound[0].plan_parameters[loopParameters].hidden === false) {
if(planFound[0].plan_parameters[loopParameters].type === 'connection'){
getCloudConnectionListFromIAAS(ctx ,function(connections){
for(var i=0 ;i< connections.length ;i++){
var cloud_connection = {};
cloud_connection.label = connections[i].name;
cloud_connection.value = connections[i].connection_parameters;
planFound[0].plan_parameters[loopParameters].options = [];
planFound[0].plan_parameters[loopParameters].options.push(cloud_connection);
}
})
} plan_parameters_hidden.push(planFound[0].plan_parameters[loopParameters]);
}
}
}