我有一个函数,我在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 per Mozilla's documentation on Promises this should work!