は、私は、次のオブジェクトがあります。rxjsで高度なHTTPリクエストを実行
class Question {
idQuestion: string;
question: string;
typeQuestion: string;
}
class Answer {
idAnswer: string;
idQuestion: string;
answer: string;
}
class Option {
idOption: string;
idQuestion: string;
option;
}
をそして私は、次のオブジェクト移入したい:今のところ
class QuestionOptionsAnswer {
question: Question;
answer: Answer;
options: Option[];
}
を、私は、オブジェクトの種類ごとにサービスを持っていますので、私たちは次のようにそれを説明することができます。
questionService.getQuestions();
answerService.getAnswers();
optionService.getOptions();
私が持っているquestionoptionsanswer
オブジェクトを移入するにはネストされた要求をしている:
questionService.getQuestions()
.subscribe(
answerService.getAnswers()
.subscribe(
optionService.getOptions()
.subscribe();
)
)
私が正しくquestionoptionsanswer
オブジェクトを取り込みますが、遅いので、私は私が悪いのアプローチを作っています考えることができます。 questionoptionsanswer
の背後にあるアイデアは、angular2ディレクティブのあるhtml
を簡単にレンダリングするためのものです。
私は約flatMap
,switchMap
,forkJoin
を読んでいますが、それらの使用方法はあまりよく分かりません。
これは、このデータを読み込むための良いアプローチですか?
questionoptionsanswer
がtypeQuestion
すなわちに応じて、質問オブジェクト、それに関連付けられた答えは、その可能なオプションがあります:選択して、ラジオ、複数など
本当の問題は、あなたが呼び出す必要があるかどうか私はあなたが多分
Observable.create()
を使用していないし、代わりにSubject
を使用しますので、あなたのユースケースだか分かりませんこの順番でリクエストします。言い換えれば、あるHTTP要求からの応答が次のHTTP要求に影響しますか? – martinこれは独立したものではありません。回答とオプションはそれぞれの質問に依存します。言い換えれば、それぞれの質問には答えとオプションがあります( 'typeQuestion'に依存します) – FacundoGFlores