我需要异步获取两个数据,然后合并结果并将其存储在cookie中。我想我可以毫不费力地实现一个vanilla承诺链。也就是说,
loadData1().then(loadData2).then(setCookie);
但是,我不需要等待一个请求完成另一个请求 。我该怎么办
(loadData1(); loadData2();).then(setCookie);
答案 0 :(得分:1)
以下是使用$q.all
:
$q.all([
(function () {
var d = $q.defer();
API.get({}, function (data) {
d.resolve(data);
});
return d.promise;
})(),
(function () {
var d = $q.defer();
API.getMore({}, function (data) {
d.resolve(data);
});
return d.promise;
})()
]).then(function(responses) {
//responses contains an array of all your data responses, in the order they were chained to $q
});