Tengo una situación en la que necesito que ocurran múltiples renders con el mismo objeto de respuesta en una aplicación ExpressJS. (Básicamente, una solicitud HTTP desencadena múltiples solicitudes de back-end, todas las cuales pueden comenzar a mostrar los resultados en la página de manera inmediata a medida que se completan). El problema es que necesito que cada uno represente una vista (es decir, no creo que pueda usar res.write()
), y hasta donde puedo decir, no hay forma de que res.render()
no finalicen la respuesta ni escriban encabezados cada vez que se invoca.¿Cómo renderizar varias veces en el mismo objeto de respuesta con ExpressJS?
¿Qué me estoy perdiendo?
¿Cómo se puede responder dos veces a una sola solicitud HTTP? –
No responde dos veces; es solo que quiero poder transmitir la salida a la página desde múltiples funciones. La solicitud HTTP da como resultado varias llamadas API a otros servicios que generan partes de la respuesta. En lugar de esperar a que todos respondan y visualicen la página todo de una vez, quiero que el objeto de respuesta permanezca "abierto" para poder escribir las vistas (más exactamente una vista parciales) hasta que se completen todas las llamadas API. –
Ah, 'res.write' va a ser tu única opción entonces. Por supuesto, también existe la opción de cargar parte de la página a través de 'res.render', y luego usar AJAX para cargar el resto. –