何らかの理由で、スコープ関数から promise を返すと、$q
解決時に値が伝播されません。
app.controller('MainCtrl', function($scope, $q) {
var deferred = $q.defer();
deferred.resolve("hello");
var promise = deferred.promise;
$scope.promiseReturn = function() {
return promise;
};
});
そしてビュー:
<body ng-controller="MainCtrl">
<p>promiseReturn: {{promiseReturn()}}</p>
</body>
このコードの Plunker は次のとおりです。ビューは最終的に次のようになります。
promiseReturn: {}
私の理解では、テンプレート エンジンは$q
プロミスをかなり透過的に処理するようです。