1

ページをロードするとすぐに、Angular サービスでこのコードを実行しています。コントローラーの$scopeは、この抽出が属する関数に引数として渡されます。関数は$q promise です。

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); 
4

1 に答える 1