TypeScript - 被拒绝的承诺未被.catch()捕获

时间:2016-05-26 15:27:34

标签: javascript angularjs typescript

我有一个函数,我在Web应用程序中每个受保护视图的配置阶段调用:

tryAuthenticate(): angular.IPromise <void> {
    debugger;
    var tokenValue = this._getCachedToken();
    var promise = this.$q.reject();

    // Some stuff with tokenValue to grab promise if user exists

    promise['catch'](() => {
        this._defaultFailedAuthenticatedAction();
    });

    return promise;
}

问题在于,当我访问受保护的视图时,tryAuthenticate()被调用但promise['catch']函数跳过,因此永远不会调用_defaultFailedAuthenticatedAction()方法。

对于更多上下文,我将逐步介绍调试器的几个屏幕截图。

因为它碰到了捕获声明:

As it hits the catch

捕获后立即发现:

Immediately after the catch is hit

为什么我的代码块没有执行? As per Mozilla's documentation on Promises this should work!

0 个答案:

没有答案