意義

2017-04-13 32 views
0

的完成功能是用來終止承諾鏈,如:意義

foo() 
.then(function() { 
    return "bar"; 
}) 
.done(); 

從項目鏈接:https://github.com/kriskowal/q

當你到年底一連串的承諾,你應該返回最後的承諾或結束連鎖。

「結束鏈條」究竟意味着什麼?什麼影響?

回答

1

這個網站有一個很好的解釋

http://www.mattgreer.org/articles/promises-in-wicked-detail/

這裏是主題下的文字:()完成的救援

()完成可以稱爲每當那麼()可以。主要區別在於 未返回承諾,並且 done()中的任何未處理的異常未被承諾實現捕獲。換句話說, done()表示整個承諾鏈何時完全解決。

並在該網站的示例中使用的代碼示例。

getSomeJson().done(function(json) { 
    // when this throws, it won't be swallowed 
    var obj = JSON.parse(json); 
    console.log(obj); 
}); 

從Q的github上延伸閱讀 https://github.com/kriskowal/q/wiki/API-Reference#promisedoneonfulfilled-onrejected-onprogress