簡體   English   中英

AngularJS為什么在一個承諾上使用$ q.all()?

[英]AngularJS Why use $q.all() on one promise?

我熟悉一個代碼庫,我到處都看到了這個:

$q.all([promise]).then(responseFunc);

這對我來說沒有意義 - 我已經閱讀了文檔,我不知道為什么不使用以下內容,因為它已經是一個承諾......

promise.then(responseFunc);

有什么我想念的嗎? 前者優於后者有什么優勢?

是的,這有點奇怪,但有一點不同:將使用結果數組而不是結果本身調用responseFunc

這可能最好寫成兩者

promise.then(res => responseFunc([res]))

要么

promise.then(Array.of).then(responseFunc)

好的,這是我能想到的唯一優勢(基於我上面的評論)

function responseFunc(arr) {
    arr.forEach(data => {
        // do stuff with data
    });
}

$q.all([promise1, promise2]).then(responseFunc);
$q.all([promise]).then(responseFunc);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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