step1(function (value1) );
});});
});
q.fcall(promisedstep1)
.then(function(parms))
.then(function(key1))
.then(function(key2))
.then(function (key3) )
.catch(function (error) )
.done();
**可讀性變高了,也更易理解。promise是一種非同步方式處理值得方法。promise是乙個物件,代表乙個函式最終可能的返回值或者丟擲的異常。
以下是乙個例子。重點理解注釋部分。
用於返回乙個promise物件,來定義then方法(then方法是promise物件的方法)
return deferred.promise;
}return ;
}]);
通過列印log可以驗證:resolve中傳入的變數或者函式返回結果,會當作第乙個then方法的引數
延遲呼叫是實現promise的方式,呼叫deferred.resolve()方法會填充promise(本質是最終呼叫success處理函式),而呼叫reject方法將會呼叫promise的錯誤處理函式。
html就可以在檢視中呼叫了
AngularJS 核心特性之服務
在之前幾篇文章中,提到了angularjs幾個核心特性,今天繼續來看看ng的服務 service 首先服務是乙個單例,即無論這個服務被注入到任何地方,物件始終只有乙個例項。其次這與我們自己定義乙個function然後在其他地方呼叫不同,因為服務被定義在乙個模組中,所以其使用範圍是可以被我們管理的。n...
angularjs中的 sompile服務
compile服務 是angularjs裡比較重要但又很少手動呼叫的服務,通常 我們使用的angularjs指令 都是angularjs 自動編譯完成的,但有時我們可能需要手動編譯,比如 我們需要往現有的dom結構裡新增html 增加一列 li,這是就需要用到 compile了。compile 用於...
angular中的 q服務例項
用於理解 q服務 參考 和其它框架一樣,ng 提供了廣義的非同步 管理的機制。http 服務是在其之上封裝出來的。這個機制就是 ng 的 q 服務。不過 ng 的這套機制總的來說實現得比較簡單,按官方的說法,夠用了。使用的方法,基本上是 var testctrl function q functio...