3 つのパブリック API、つまり Web サイト A、B、C に対してノンブロッキング呼び出しを行い、結果を JSON データとして Rails アプリに転送しようとしています。これが別のフォーラムの node.js で可能かどうかを尋ねたところ、可能であると思われ、誰かが node.js ステップ モジュールと非同期ライブラリを使用するこのソリューションを指摘してくれました。
Step(
// Make 3 async calls in parallel
function loadStuff() {
getResultFromSiteA(params1, this.parallel());
getResultFromSiteB(params2, this.parallel());
getResultFromSiteC(params3, this.parallel());
},
// Pass the result to Rails when you're done
function passOntoRails(err, resultsA, resultsB, resultsC) {
if (err) { throw err; }
passResultsToRails(resultsA, resultsB, resultsC);
}
)
最近、同様の質問 hereも見つけました。答えは、私が聞いたことのないjs拡張内で利用可能な forkjoin 演算子を使用することを示唆しています。「リアクティブjs」。
したがって、私が理解できることから、これを行うには2つの方法があります。最初の方法は node.js を使用し、2 番目の方法は「リアクティブ」を使用してクライアント側から単純な複数の非同期 ajax 呼び出しを使用する方法です。
ある方法が別の方法よりも単にパフォーマンスが優れているかどうかを知りたいですか? ありがとう。意見/回答/提案をいただければ幸いです。