我在加载页面后立即在 Angular 服务中运行此代码。控制器$scope作为参数传递给此提取所属的函数。该函数是一个$q承诺。
我无法弄清楚如何让控制器知道scope.req.rows
已更新。如果我scope.$apply()
在它之后添加,我会进入运行摘要阶段。如果我使用 $qresolve
函数,它会返回并且不再返回循环结果。scope.$evalAsync()
并且$timeout
似乎没有效果(至少没有设置超时> 0)。也一样scope.$watch
。
如何让控制器知道值已更新?
for (var page = 0; page < nbPages; page++) {
(function (pageNum) {
that.get(url,
where,
res.pageSize * page,
res.pageSize)
.then(function Success(data) {
$log.info('Result of page ' + pageNum + ' received');
for (row in data) {
scope.req.rows++;
}
}).catch(function chunkFail(err) {
reject(err);
});
})(page);