2016-07-26 114 views
1

我有一個JavaScript函數,我正在進行一些其他調用,並使用響應爲下一次調用構建有效負載。下面是一些sudo代碼,顯示了我正在嘗試執行的操作。我所有的代碼工作正常;但是,我不知道如何將承諾p3返回給updateList調用方。我非常感謝任何幫助,謝謝。如何返回嵌套的承諾

function updateList(listOfUsers){ 
    var p1 = getUser(userId1); // returns a promise  
    var p2 = getUser(userId2); // returns a promise 
    $q.all([p1, p2]).then(function success(){ 
     ...some code to get the uses and build payload for next call... 
     var p3 = updateList(payload); //also returns a promise 
     //how do I return p3? 
    }); 
} 

-dj

回答

1
function updateList(listOfUsers){ 
    var p1 = getUser(userId1); // returns a promise  
    var p2 = getUser(userId2); // returns a promise 
    return $q.all([p1, p2]).then(function success(){ 
     ...some code to get the uses and build payload for next call... 
     return updateList(payload); //also returns a promise 
    }); 
} 
0

因此,這是嵌套的承諾是如何工作的,我只好在解析功能也

return $q.all([p1, p2]).then(function success(){ 
     ...some code to get the uses and build payload for next call... 
     return updateList(payload); //also returns a promise 
    }); 
回報