我想使用promises,但我有一个回调API,格式如下:
window.onload; // set to callback
...
window.onload = function() {
};
Run Code Online (Sandbox Code Playgroud)
function request(onChangeHandler) {
...
}
request(function() {
// change happened
...
});
Run Code Online (Sandbox Code Playgroud)
function getStuff(dat, callback) {
...
}
getStuff("dataParam", function(err, data) {
...
})
Run Code Online (Sandbox Code Playgroud)
API;
API.one(function(err, data) {
API.two(function(err, data2) {
API.three(function(err, data3) {
...
});
});
});
Run Code Online (Sandbox Code Playgroud)
我有一个整数id数组,例如
var a=[1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)
我需要为每个ID执行异步远程调用.每个调用都是使用$ resource执行的WebAPI请求,并显示为promise.
我需要创建一个函数来获取这些ID的数组,然后初始化递归的promises链.该链应该逐个导致对每个ID进行相应的webapi调用.这些调用不应该是并行的,而应该是链接的.
有问题的函数返回一个"主"承诺,应根据异步Web调用的结果解决或拒绝.也就是说,如果由于与服务器断开连接而导致递归中的某些承诺被拒绝,那么主承诺也应该失败.在正常情况下,"主要"承诺必须在所有请求完成时解决.
我怎样才能在angularjs中实现这一目标?