我正在尝试对 3 个公共 API 进行非阻塞调用,即网站 A、B、C,然后将结果作为 JSON 数据转发回 Rails 应用程序。我在另一个论坛的 node.js 中询问这是否可能,似乎是这样,有人向我指出了这个涉及使用 node.js Step 模块和异步库的解决方案:
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);
}
)
最近我在这里也发现了类似的问题。答案建议使用我从未听说过的 js 扩展中可用的 forkjoin 运算符;'反应式 js'。
因此,据我所知,有两种方法可以做到这一点;第一种通过node.js,第二种方法是通过使用“反应式”从客户端进行简单的多个异步ajax调用。
我想知道一种方法是否比另一种方法更好/更快?谢谢。任何意见/答案/建议将不胜感激。