Я пытаюсь сделать неблокирующие вызовы 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».
Итак, насколько я понимаю, есть 2 способа сделать это; первый - через node.js, а второй - через простые множественные асинхронные вызовы ajax со стороны клиента с использованием "реактивного".
Я хотел бы знать, работает ли один способ лучше/быстрее, чем другой? Спасибо. любые мнения/ответы/предложения будут оценены.