プロミスを返す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 から「値」を返したいと考えています。