Возможно ли передавать потоки ответов от нескольких запросов на HTTP-сервер?nodejs-request module-streaming несколько ответов от запроса к http.ServerResponse
в expressjs, что-то как-
router.get('/streamingApi',(req,res)=> {
request('http://localhost:3000/first').pipe(res); //take 300 ms
request('http://localhost:3000/second').pipe(res); //take 100 ms
request('http://localhost:3000/third').pipe(res); // take 200 ms
}
Идея заключается в том, чтобы вернуть поток в браузере по мере поступления (когда мы получаем ответ на второй апи, который является самым быстрым, поток его браузера, затем третий api и последний ответ первого api).
Но когда я запускаю вышеуказанный код, только первый ответ получает трубку, а затем соединение закрывается.
это даже возможно с поточным трубопроводом? любые предложения по исправлению этого без использования socket.io?
Благодарим за отзыв. Мне нужны все 3 ответа, а не только первый. но не хотите дождаться завершения всех 3 запросов. – msreekm
Я не понимаю, чего вы пытаетесь достичь. Вы хотите буферизовать все 3 ответа и * затем * отправить их обратно клиенту? Если вам нужны все 3 ответа, и вы не хотите ждать их завершения, как вы ожидаете доставить их всем клиенту? – mscdex
mscdex - вот что Ям также задается вопросом, есть ли способ сделать это. , Один из способов, которым я смог добиться, - использовать веб-узлы. но масштабирование приложений для веб-сайтов не так просто. поэтому я пытаюсь понять, можем ли мы сделать это с помощью обычных HTTP-вызовов. спасибо за ответ. – msreekm