如何使用ExpressJS在同一个响应对象上多次渲染?

我有一个情况,我需要在ExpressJS应用程序中使用相同的响应对象进行多个呈现。 (基本上,一个HTTP请求会触发多个后端请求,所有这些请求都可以在完成时立即将结果呈现给页面)。问题是我需要每个请求都呈现一个视图(即,我不认为我可以使用res.write() ),并且据我所知, res.render()没有办法在res.render()都不结束响应或写入标头。

我错过了什么?

Express使用EJS,Jade等引擎编译模板

然后使用response.send呈现数据: https : //github.com/visionmedia/express/blob/master/lib/response.js#L76-131

正如你在那里看到的,最后有这个this.end... ,意思是response.end(…)。

如果你想要实现发送多个视图,你必须使用视图引擎自己编译这些视图,然后创build一个类似于response.send(我给你上面的链接)的函数,但要小心不要发送两次头或呼叫response.end在最后一个视图呈现之前。