2011-07-08 79 views
0

我有一個node.js應用程序運行在express上,使用http.request訪問http服務的dynamicViewHelper。不幸的是,當我嘗試這樣做時,因爲http請求是異步的,調用它的函數不是,頁面只是在http請求完成之前呈現,我最終在我的頁面上定義了undefined。NodeJS Express DynamicView助手與http請求

我基本上尋找一種方法來放置一個異步操作(http請求),在頁面上呈現出動態視圖幫助器。我知道我不能將它變成一個同步函數,所以我正在尋找另一種方式將動態數據提供給視圖。

此外,有沒有辦法來緩存從http.request()返回的數據?我不想把它放在會話中,但我想要對可能被緩存的完全相同的URL進行進一步的請求......雖然沒有我的問題的第一部分那麼大。

回答

2

我想通了。我只是將它加載到我的路由中,以便在請求完成之前不會調用res.render()

+0

嗨阿爾貝託,你能解釋你是怎麼做到的嗎?我面臨同樣的問題 –

+0

我記不清我做了什麼。問題在於視圖助手花了太長時間,因此頁面在完成之前就返回了請求。看看一些明確的來源 - 它並不那麼複雜。 –