Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.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 $q。所有承诺(访问控制允许来源)_Javascript_Asynchronous_Promise_Cors_Same Origin Policy - Fatal编程技术网

Javascript $q。所有承诺(访问控制允许来源)

Javascript $q。所有承诺(访问控制允许来源),javascript,asynchronous,promise,cors,same-origin-policy,Javascript,Asynchronous,Promise,Cors,Same Origin Policy,承诺让程序异步运行并节省时间,因为它同时从两个URL检索信息 由于Promissions是异步运行的,对于$q.all(Promissions)函数,resultList[0]总是包含来自1.json的信息,而resultList[1]总是包含来自2.json的信息,这是真的吗?Promissions.push()可能没有来自1.json的数据,对吗?由于promise是异步运行的,因此它可能只包含1.json之前的2.json中的数据 在其他服务器上运行页面(使用Promises)后,它会给出

承诺让程序异步运行并节省时间,因为它同时从两个URL检索信息

由于Promissions是异步运行的,对于$q.all(Promissions)函数,resultList[0]总是包含来自1.json的信息,而resultList[1]总是包含来自2.json的信息,这是真的吗?Promissions.push()可能没有来自1.json的数据,对吗?由于promise是异步运行的,因此它可能只包含1.json之前的2.json中的数据

在其他服务器上运行页面(使用Promises)后,它会给出错误“访问控制允许来源不允许来源“www.dns”和“由于访问控制检查,XMLHttpRequest无法加载“a.json”,因为Jquery GET方法可以使用JSONP来解决此错误。但是有没有一种方法可以在承诺中解决问题呢

var promises = [];
var loadingJson = function(url){
    var defer = $q.defer();
    $http.get(url).then(function(results){
        defer.resolve(results);
    }, function(err){
       defer.reject(err);
    });

    return defer.promise;
};

promises.push(loadingJson('example.com/1.json'));
promises.push(loadingJson('example.com/2.json'));

$q.all(promises).then(function(resultList){
  // Your hanadling here, resultList contains the results of both API calls.
}, function(errList){
 // Your error handling here.
});

简短回答:


从(我的)重点:

返回单个承诺,该承诺将使用 值,与同一索引/键上的承诺对应的每个值 在promises数组/hash中。如果使用 拒绝,由此产生的承诺将以同样的方式被拒绝 拒绝值


简而言之,
$q.all
的结果将保持原始列表的顺序,而不管每个承诺单独解析的顺序如何。

我明白了。非常感谢。