2015-04-01 54 views

回答

6

即使藍鳥是Q這樣的包裝...

哦,絕對不是。我希望這不會使您的問題無效?

我沒有得到什麼的spread() VS done()區別?

API文檔,可能有很大的幫助:

  • spread是「就像調用.then,但履約價值或拒絕的理由必須是一個數組,這是夷爲平地的形式參數處理程序。

    如果你有一個承諾,一個陣列,spread將調用回調函數與多個參數

    這是一樣的東西Q等同於:spread是「then,但‘傳播’。數組成可變參數完成處理

  • done是「.then(),但任何未處理拒絕在這裏最終會被拋出一個錯誤,[...它]用於明確標記承諾鏈的末尾

    關於此問題的更多詳細信息,請參見error handling文檔。請注意,藍鳥與Q在這裏完全不同,因爲它巧妙地計算出未處理的拒絕和reports them on its own--當拒絕達到某一點時,您不必明確告訴它拋出全局錯誤。

    將其與Q's done documentation進行比較,推薦使用非限制使用。

正如你所看到的,spreaddone是完全不同的方法有不同的用途。此外,Bluebird和Q done模式也不同。

相關問題