2011-07-08 19 views
0

http.requestでhttpサービスに当たるdynamicViewHelperを使用してexpressで実行されているnode.jsアプリがあります。残念ながら、私はこれをしようとすると、http要求は非同期で、それを呼び出す関数はないので、http要求が完了する前にページがレンダリングされ、私はページ上で未定義となります。httpリクエストを持つNodeJS Express DynamicViewヘルパー

私は基本的に、非同期アクション(httpリクエスト)をページにレンダリングされる動的ビューヘルパーの中に配置する方法を探しています。私はそれを同期関数に変換するだけでは不十分であることを知っているので、その動的データをビューに取得する別の方法を探しています。

また、http.request()から返されたデータをキャッシュする方法はありますか?私はそれをセッションに入れたくありませんが、私は、同じURLにさらにリクエストをしてキャッシュされるようにしたいと思っています...しかし、私の質問の最初の部分と同様に大きな問題ではありません。

答えて

2

私はそれを理解しました。私はちょうど私のルートにロードするので、res.render()は要求が完了するまで呼び出されません。

+0

こんにちはアルベルト、あなたはそれをした方法を説明できますか?私は同じ問題に直面している –

+0

私は何をしたのか正確に覚えていない。問題は、ビューヘルパーが時間がかかりすぎて、ページが完了する前にリクエストを戻したことでした。明示的なソースのいくつかを見てください - それは本当に複雑ではありません。 –

関連する問題