Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将AJAX成功分配给Object.assign ES5[不同]_Javascript_Arrays_Json - Fatal编程技术网

Javascript 如何将AJAX成功分配给Object.assign ES5[不同]

Javascript 如何将AJAX成功分配给Object.assign ES5[不同],javascript,arrays,json,Javascript,Arrays,Json,我给一个对象赋值,我需要给一个ajax响应生成的值赋值 这是我的分配代码行: var object1 = object1.map(function(el) { var o = Object.assign({}, el); $.ajax({ url: "/api/getcolor?age=7, // this will return a sequence of object according to

我给一个对象赋值,我需要给一个ajax响应生成的值赋值

这是我的分配代码行:

    var object1 = object1.map(function(el) {
            var o = Object.assign({}, el);
            $.ajax({
                url: "/api/getcolor?age=7,  // this will return a sequence of object according to the item in object1 e.i {"color":"red"} {"color":"blue"} {"color":"yellow"}
                type: 'GET',
                dataType: 'json',
                success: function(data) {
                    console.log("data: "+JSON.stringify(Object.values(data)))
                   var myColors = JSON.stringify(Object.values(data))
                }
            });
            o.color= myColors ; // reassigning to object colors --> which means whatever was resturned from the ajax response should replaceeach value in object > o.color
}
我的问题是,如何在ajax响应之外访问变量mycolor并将其分配给o.color? 有没有更好的方法来实现这一点


谢谢

如何访问ajax响应之外的变量mycolor
。。。异步-而且,
myColors
将是一个
字符串
-可能不是您想要的…顺便说一句
对象。assign
是ES6,而
对象。如果
返回$.ajax,则value
是ES8,而不是ES5:-)({
并将
o.color=
行移动到成功函数中可用的位置…然后您可以
Promise.all(object1)。然后(函数(结果){…})
-在
中,您将拥有所有results@JaromandaX我正在返回..返回o;让我试着按照建议返回ajax DL;DR:这与其他问题非常相似。你正在无意中了解异步处理的基本原理,就像每个新手最终偶然发现它一样,你需要接受它这是一个很好的解决方法,而不是试图与之抗争。