簡體   English   中英

如何重構JS Promise鏈

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM