出于某种原因,当我$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
相当透明地处理承诺。