私は2つのAPP_INITIALIZERプロバイダを持っています...最初に環境情報を取得するためのHTTP要求を行います。角2 APP_INITIALIZER実行順序/非同期の問題
環境情報を使用して、OIDC Authorityサーバーエンドポイント(環境呼び出しから取得)に対してユーザーを認証します。
環境サービスを認可サービスの依存関係にするにもかかわらず、認可サービスのAPP_INITIALIZERファクトリ関数は、環境呼び出しが完了する前に呼び出されるようです。 APP_INITIALIZERに提供
{ provide: APP_INITIALIZER, multi: true, useFactory: EnvironmentFactory, deps: [] }
{ provide: APP_INITIALIZER, multi: true, useFactory: AuthorizationFactory, deps: [EnvironmentProvider] }
両工場では、署名である:
Factory() { return() => Promise; }
結果は、許可呼び出しではなく、適切なURLのundefined
に提出するということです。
私は工場を組み合わせることを考えましたが、それは2つの異なるモジュールに分かれているので面倒です。ガイダンスが評価されました!
もっとコードを入力してください。 'AuthorizationFactory'は' EnvironmentFactory'が応答を受け取った時を知る方法を持っていないと思います。 –
他に何ができるのか分かりません。私は、AuthorizationFactoryがEnvironmentFactoryの約束がいつ解決されたのか分からないことを理解します。それは基本的に質問の精神だと思います。 APP_INITIALIZERを解決するために別のAPP_INITIALIZERを待機させる方法可能であれば、内部的に行う工場を持たない方がいいですね。 EnvironmentAndAuthorizationFactory() –