[英]Using AngularJS Promise
我目前正在嘗試學習AngularJS框架,並且不斷聽到有關“承諾”的信息。 我已經對此進行了一些研究,盡管我似乎無法找到有關如何以及何時使用“承諾”的詳盡解釋。
任何人都可以在使用承諾與不使用承諾之間進行解釋並提供解決方案。 與不使用承諾相比,使用承諾有什么好處?
所有的答案表示贊賞。
謝謝。
Promise實現基本上提供了一個接口,該接口定義了至少一個“何時”返回的方法(因此返回)“ Promise”,即異步操作的結果。
優點是更好的代碼可讀性(以及生產),結果的更好重用,而不會引起可怕的“回調地獄”,可鏈接性等。
jQuery的簡單方案:
沒有承諾
$.ajax({
url: someurl,
success: function(data)
{
//do something with data
}
});
承諾
var p = $.ajax({ url: someurl });
$.when(p).then(function(data)
{
//do something with data
});
但是,更好的解釋是: http : //wiki.commonjs.org/wiki/Promises/A
官方文件說
promise api允許使用傳統的回調(CPS)方法很難實現的合成。 有關更多信息,請參閱Q文檔,尤其是有關Promise串行或並行連接的部分。
http://docs.angularjs.org/api/ng/service/$q
我認為最簡單的解釋可能是,與傳統方法相比,它是執行串行或非常復雜的回調的更好,更干凈的方法。
這是您可以閱讀更多有關使用promise的好處的鏈接:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.