Я пытаюсь сделать неблокирующие вызовы 3 общедоступным API-интерфейсам, то есть веб-сайту A, B, C, а затем переслать результаты обратно в приложение rails в виде данных JSON. Я спросил, возможно ли это в файле 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);
}
)
Недавно я также нашел похожий вопрос здесь . Ответ предполагает использование оператора forkjoin, доступного в расширении js, о котором я никогда не слышал; «реактивный JS».
Итак, насколько я могу понять, есть два способа сделать это; первый - через node.js, а второй - через простые множественные асинхронные вызовы ajax со стороны клиента с использованием «реактивного».
Я хотел бы знать, если один из способов просто работает лучше / быстрее, чем другой? Благодарю. любые мнения / ответы / предложения будут оценены.