我想寫一個服務,它做多個異步請求,我使用$ q返回一個承諾,問題是我正在寫一些重複的代碼,我想刪除重複。我如何寫在AngularJS的承諾
app.factory('MyService',function($q){
var ser = {
getA:function(){
var d= $q.defer; //repetitive code
asyn1().then(function(){
aync2().then(function(res){
//Process data
doSomething(res)
d.resolve();
})
});
return d.promise
} ,
getB:function(){
var d= $q.defer;
asyn3().then(function(){
aync4().then(function(res){
//Process data
doSomething(res)
d.resolve();
})
});
return d.promise
}
}
return ser;
});
在每一個功能,我重複$q
的事情,我怎麼能避免重複。
我想要做一些數據預處理,aync2後,返回之前。所以我認爲我不能忽視$ q –
是的,你可以通過鏈接承諾。我會修改我的答案。 –