[英]How to refactor chain of js promises
重構此承諾鏈的好方法是什么? 一定有更好的方法...但是我似乎無法弄清楚。 謝謝
loginPromise.then(function() {
loadConfigFirebase().then(function() {
setupUserObj().then(function() {
saveUserFirebase().then(function() {
loadUserFirebase().then(function() {
ionicUserIdentify().then(function() {
registerDeploy().then(function() {
$ionicLoading.hide();
q.resolve();
}).catch(function(err) {
displayError(err)
})
}).catch(function(err) {
displayError(err)
})
}).catch(function(err) {
displayError(err)
})
}).catch(function(err) {
displayError(err)
})
}).catch(function(err) {
displayError(err)
})
}).catch(function(err) {
displayError(err)
})
}).catch(function(err) {
displayError(err)
})
function chainPromise(promise, fns, errorFn){
if(!fns.length){
return;
}
promise.then(function(){
var fn = fns.shift();
chainPromise(fn(), fns, errorFn);
}).catch(errorFn);
}
chainPromise(loginPromise, [
loadConfigFirebase,
setupUserObj,
saveUserFirebase,
loadUserFirebase,
ionicUserIdentify,
registerDeploy,
function(){
$ionicLoading.hide();
q.resolve();
}
], displayError);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.