第2のものが最初のものから返された値を必要とする場合、依存するAPIコールを作成する必要があります。 (ID付き)Report
モデルを更新成功し、コールが戻った後、その後私はreport.ID
が必要な場合、レポートのステップを作成するために、APIを呼び出す必要がどこ心に来る最初の事はflatMap従属するオブザーバブルを連結する
ApiManager.shared
.createReport(report: report)
.flatMap { (report) -> Observable<Report> in
return ApiManager.shared.createReportStep(reportID: report.ID)
}
createReport
戻りObservable<Report>
を使用しています。
このコードではすべてが正常に動作していますが、これらのステップ(createReport
とcreateReportStep
)の後に何かする必要があるときに問題が発生します。 onNext
ブロックにコードを配置しましたが、両方のステップが完了した後に1回だけ呼び出されます。
両方の手順の後でonNext信号を受信する方法はありますか?私はこのようなもの使用することができます私がしたいように2つの信号をemmitう
ApiManager.shared
.createReport(report: report)
.concat(ApiManager.shared.createReportStep(reportID: report.ID))
を、しかし、その後、再びどこがcreateReportStep
に渡すからreport.ID
を更新されますか?
ご迷惑をおかけして申し訳ございません。 'Report'を作成した後、レポートを作成した後に生成されたレポートIDを必要とする' ReportStep'を作成したいとします。次は、作成したばかりの 'Report'と' ReportStep'オブジェクトの両方にアクセスすることです。あれは正しいですか? – iwillnot