我有一个在express上运行的node.js应用程序,它使用一个使用http.request命中http服务的dynamicViewHelper。不幸的是,当我尝试这样做时,因为http请求是异步的并且调用它的函数不是,所以页面只是在http请求完成之前呈现,我最终在页面上显示未定义。
我基本上正在寻找一种在动态视图助手中放置异步动作(http请求)的方法,该助手在页面上呈现出来。我知道我不能把它变成一个同步函数,所以我正在寻找另一种方法来将动态数据传递给视图。
另外,有没有办法缓存从http.request()返回的数据?我不想把它放在会话上,但是我希望对完全相同的URL做出任何进一步的请求,以便可能被缓存......尽管如此,这并不像我的问题的第一部分那么大。
答案 0 :(得分:2)
我明白了。我只是在我的路线中加载它,以便在请求完成之前不会调用res.render()
。