Angularでは、投稿リクエストの応答をパラメーターの1つとして渡して、別の投稿リクエストに入れるにはどうすればよいですか?

ilovethedrama

2つのセクションを持つフォームがあります。2つのポストリクエストアクションをディスパッチします。2番目のリクエストを正常に送信するには、最初のリクエストのパラメータが必要です。しかし、どのようにすればよいかわかりません:(最初のアクションの要求と応答は正常に機能していますが、ロジックを実装する方法と場所がわかりません-サービス内にあるべきですか?レデューサーですか?次にフォークジョインを試しました自分が何をしているのかわからないことに気づきました。助けてくれてありがとう!

私のコンポーネント:


    const newArtist = this.store.dispatch(new CreateArtist({
      ...generalDetails,
      hometown,
    }))

    const newArtistExtraInfo = this.store.dispatch(new CreateDiscography({
      ...songCatalogue
    }
    ));

    forkJoin([newArtist, newArtistExtraInfo]).subscribe(result => {
      console.log(`the results are in : ${result}`)
    }) 
ガースメイソン

ディスパッチされた最初のアクションの結果を使用する場合は、CreateArtist処理後に更新された状態を読み取ることをお勧めします

コンポーネントSelectorCreateArtistは、ArtistStateによる処理の結果として作成された最新の作成アーティストを返すを使用できます

@Select(ArtistState.latestArtist) artist$: Observable<Artist>;

this.store.dispatch(new CreateArtist(..))
.pipe(
   withLatestFrom(this.artist$)
)
.subscribe(([_, artistInfo]) => {
  this.store.dispatch(new CreateDiscography({ .., artistInfo.token, artistInfo.id });
})

したがって、ここでは、アーティストの作成アクションをディスパッチし、作成後の状態を読み取って、フォローアップのディスコグラフィーアクションをディスパッチするために必要なアーティスト固有の情報を取得します。

もう1つのオプションは、状態ArtistCreatedが目的のトークン/ IDを含むアクションとしてディスパッチし、コンポーネントがアクションストリームを介してサブスクライブし、そこでディスコグラフィーアクションをディスパッチできるようにすることです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ