1

私はルータリゾルバを連鎖しようとしていますAngular4のルータでchaningを解決するには

これは私のルーターオプションです。私はSessionService(SessionResolve)を呼び出し、セッションデータのLANG値

LocaleService(LocaleResolve)を呼び出したい

{ path: '', 
    component: AdminComponent, 
    resolve: [ 
     SessionResolve, 
     LocaleResolve 
    ] 
    } 

ただし、上記のコードは

同時に決意を呼び出します

私はコード変更を解決すると思うhere 私は前にAngular4を使っていないので、私は知らない。

私はシャイニングとして解決する方法がありますか?それとも、すべての作業を1つの解決策で処理する必要がありますか?

答えて

1

解決法は、角度ルータでサポートされているガードの1つです。複数のガードがある場合、それらは特定の順序で非同期に実行されています。

注文を維持する必要がある場合は、Resolveインターフェイスを実装する別のクラス(例:SessionAndLocaleResolve)を作成し、そのクラス内でSessionResolveから関数を実行してからLocalResolveから関数を実行します。 あなたのルートにはリゾルバSessionAndLocaleResolveが1つあり、 "サブリゾルバ"の実行順序を制御できます。

関連する問題