【问题标题】:Angular 11 function promise code after then not being called然后不调用Angular 11函数承诺代码
【发布时间】:2022-01-04 18:33:26
【问题描述】:

我有这个函数,其中包含一些打字稿。我无法弄清楚为什么没有调用 promise 之后的代码。

export function MSALInterceptorConfigFactory(jsonAppConfigService: JsonAppConfigService): MsalInterceptorConfiguration {
    const protectedResourceMap = new Map<string, Array<string>>();
    const resource = "asdfd";

    jsonAppConfigService.loadConfig()
      .toPromise()
      .then(()=>{
        protectedResourceMap.set('https://graph.microsoft.com/v1.0/me', ['user.read', 'mail.read']);
        protectedResourceMap.set(`${jsonAppConfigService.apiEndPoint}api/method1`, [resource]);
        protectedResourceMap.set(`${jsonAppConfigService.apiEndPoint}api/method2`, [resource]);
        protectedResourceMap.set(`${jsonAppConfigService.apiEndPoint}api/method3`, [resource]);
        protectedResourceMap.set(`${jsonAppConfigService.apiEndPoint}api/method4`, [resource]);
        protectedResourceMap.set(`${jsonAppConfigService.apiEndPoint}api/method5`, [resource]);
        protectedResourceMap.set(`${jsonAppConfigService.apiEndPoint}api/method6`, [resource]);


      }
    );
    
  return {
    interactionType: InteractionType.Redirect,
    protectedResourceMap
  };
}

Chrome 中的执行似乎直接在这段代码上进行。我在第一个 protectedResourceMap 语句上放了一个断点,但执行从未到达这一点。

看起来很基本 - 但谁能指出我正确的方向?

顺便说一下,这个函数在 web 应用程序的 app.module.ts 文件中。它已被添加到 NgModule 部分,如下所示:

{
  provide: MSAL_INTERCEPTOR_CONFIG,
  deps: [JsonAppConfigService],
  useFactory: MSALInterceptorConfigFactory,
},

谢谢

【问题讨论】:

  • 你试过用.catch(error)看看有没有错误吗?
  • 为什么需要使用toPromise?听说过 Angular 自带的来自 rxjs 的Observables
  • 不 - 我从未听说过 Observables。您能否详细说明我如何在此示例中使用它们?
  • 我会尝试捕捉错误以查看。谢谢
  • @MoufeedJuboqji 请给我一个答案,因为你是对的。有一个我没有显示的错误。谢谢

标签: angular typescript angular11


【解决方案1】:

感谢 Moufeed Juboqji。我需要使用 try/catch 并检查 catch 块。确实有一个异常被抛出,我已经解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-12
    • 2013-01-13
    • 1970-01-01
    • 2017-12-09
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    相关资源
    最近更新 更多