我试图创建一个JavaScript对象(friends_ringsigs),其中键是names [i]的值,值是"结果"在执行promise时创建的变量。问题是,当我尝试访问"名称[i]"变量使用,它不存在。
// get list of new contact requests
$.ajax({
url: '/api/messaging/getnewfriends.php?auth=<?=$_SESSION['auth_random']?>',
type: 'POST',
data: '',
success: function(result) {
if(result != 'none'){
var names = result.split("[Delimiator0]");
for(var i = 0; i < names.length-1; i++){
ringsig_decrypt(priv_ck, names[i]).then(function(result){
friends_ringsigs[result] = names[i];
alert(friends_ringsigs[result]);
alert(names[i]);
alert(result);
document.getElementById('newcontactslist').innerHTML += contactify(result);
$('#contactslabel').show();
});
}
}else{
document.getElementById('newcontactslist').innerHTML = "";
$('#contactslabel').hide();
}
}
});
我能够访问&#34;结果&#34;,但不能访问姓名[i],之后当我从friends_ringsigs中获取价值时,它并不存在。实际上,警报(JSON.stringify(friends_ringsigs));输出&#34; {}&#34;。