問題タブ [concatmap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
200 参照

angular - RxJS を使用した Angular 6 での HTTP リクエストのシーケンス

私の目的は、POST リクエストを介してバックエンド サーバーに情報を保存することです。前のリクエストが終了したら、これらのリクエストを 1 つずつ実行する必要があります。ただし、リクエスト間にロジックを追加する必要があります。これらのリクエストは、RxJs Observablesを使用して行われます。

文脈を説明します。私のアプリには、Country、State、City、Address、Person の 5 つのモデルがあります。

Person には、City に属する Address、State に属する Address、Country に属する Address があります。

各モデルには、その「親」ID が外部キーとして含まれています (たとえば、City には属性「state_id」があります)。

すべての情報はフォームから入手できます。そのため、フォームを送信するときに、この情報をバックエンド サーバーに保存したいと考えています。

これを行うには、国/州/都市/住所がデータベースに既に存在するかどうか (GET 要求を介して) を確認する必要があります。存在する場合は、その ID を「子」にバインドする必要があります。そうでない場合は、POST する必要があります。その ID を「子」にバインドします。

どうすればこれを達成できますか? 私はいくつかの調査を行い、この配管concatMap()演算子を実行しようとしました。concatしかし、私の問題は次のとおりです。これらのリクエストをどのように行うことができますか?

これは私がこれまでに持っているものです:

これを正しく行う方法がわかりません。私が探しているリクエストのシーケンスは次のとおりです。

どうすればそれを行うことができますか?私の主な問題は、いくつかの GET リクエストの間にいくつかの POST リクエストを実行する必要がある場合と、そうでない場合があることです。ただし、状況ごとに Observable (国/州/都市... データを含む) を次のオペレーターに返す必要があります。