2

我需要拦截 ng-view 的更改并加载“加载 div”覆盖,直到加载所有新图像。

我试图在我的 HttpInterceptor 中暂停承诺回调,但我无法再次解决我的承诺。

这里有一个例子:

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) 时,没有任何反应,也没有错误。

4

1 回答 1

5

它可以工作,但是由于您resolve在角度生命周期之外调用,因此您需要显式调用$scope.$apply以启动事物。否则不会调用回调。

链接到固定的 JSFiddle

于 2013-07-02T14:48:50.820 回答