我有一个函数,因为我有一个for循环,在一个特定条件下,我正在调用一个回调方法,并期望根据从回调方法获得的值来更新一些全局变量。
尝试使用promise而不是回调,但无法更新全局变量。
实际上,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]);
}
}
}