簡體   English   中英

AngularJS中的deferred.resolve()

[英]deferred.resolve() in AngularJS

我需要攔截ng-view的更改並加載“ loading div”覆蓋圖,直到所有新圖像都加載完畢。

我試圖在我的HttpInterceptor中掛起Promise回調,但是第二次無法解決我的Promise。

這里是一個例子:

return function (promise) {
    globalForTest = $q.defer();

    return promise.then(function (response) {
        console.log('first', response);
        return globalForTest.promise;
    }).then(function (response) {
        console.log('second', response);
        return response;
    });

http://jsfiddle.net/Lmvjh/

當我嘗試調用globalForTest.resolve(value)時,什么也沒有發生,也沒有錯誤。

它可以工作,但是由於調用resolve超出了角度生命周期,因此您需要顯式調用$scope.$apply來使事物運動。 否則,回調將不會被調用。

鏈接到固定的JSFiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM