1

プロミスを返すwatchExpressionを使用したangularjsのwatchメソッド。

$scope.$watch(function() {
var promise = MyService.getMethod();
promise.then(function(value){
  return value;
})
}, function(newValue, oldValue) {
console.log("new value:", newValue);
});

promise を使用したメソッドへの Typescript 呼び出し。

public getMethod(): angular.IPromise<any> {
  var deferred: angular.IDeferred<any>   = this.$q.defer();
  localforage.getItem(‘key’).then(function(value) {
    deferred.resolve(value);
  }).catch(function(err) {
    deferred.reject();
    console.log(err);
  });
  return deferred.promise;
}

$watch watchExpression 関数に戻るために、MyService の localforage promise から「値」を返したいと考えています。

4

1 に答える 1

0

localforage.bindを使用して、ストレージ値をスコープに直接バインド できます。

localforage.bind($scope, {key: 'key', scopeKey: 'scKey'});

そして、双方向バインドを使用します$scope.scKey

于 2016-06-28T10:02:42.497 に答える