无法访问承诺

时间:2017-12-04 04:49:49

标签: javascript promise

我试图创建一个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;。

0 个答案:

没有答案