AngularJS 廣義回調(diào)管理機制

2018-07-26 17:27 更新

和其它框架一樣, ng 提供了廣義的異步回調(diào)管理的機制。 $http 服務(wù)是在其之上封裝出來的。這個機制就是 ng 的 $q 服務(wù)。

不過 ng 的這套機制總的來說實現(xiàn)得比較簡單,按官方的說法,夠用了。

使用的方法,基本上是:

  • 通過 $q 服務(wù)得到一個 deferred 實例
  • 通過 deferred 實例的 promise 屬性得到一個 promise 對象
  • promise 對象負責(zé)定義回調(diào)函數(shù)
  • deferred 實例負責(zé)觸發(fā)回調(diào)
angular.module('app', [], angular.noop)
.controller('TestCtrl', function($scope){
  var defer = $q.defer();
  var promise = defer.promise;
  promise.then(function(data){console.log('ok, ' + data)},
               function(data){console.log('error, ' + data)});
  //defer.reject('xx');
  defer.resolve('xx');
});

了解了上面的東西,再分別看 $q , deferred , promise 這三個東西。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號