ノードと非同期の新機能で、まだコンセプトに苦しんでいます。ノードとエクスプレスで繰り返しレンダリング
express/handlebarsを使用しようとすると、コールバックを使用してレンダリングされ、配列のコンテンツを含むHTMLボディが繰り返し作成されます。最終目標は、view.hbsを使って個々にレンダリングされた多数の電子メールで応答を送信することです。
これまでは実現しましたが、それは決してうまくいかないことに気付きました。 res.renderは、コールバックで私のhtml変数を返すことができず、レンダリングが完了する前にres.sendが実行されます。
function buildRes (req, res, email) {
var html = '';
Object.keys(email).forEach(function (i) {
res.render('emailPanel', {subject: email[i].subject, body: email[i].body},
function(err, renOut) {
if err throw err;
html=html+renOut;
}
)
})
res.send(html);
}
どのように私はこの問題に近づいているはずですか?
ハンドルバー#eachヘルパーを使用して繰り返しを開始しようとしましたが、すべての例では単純なリストが表示されますが、私の場合はレンダリングに渡す複数の配列パラメータがあります。
ビューで解決してくれてありがとうSerjuice。むしろそのアプローチを押して、それが私のために働いています。これで、ビューエンジンにオブジェクトの配列を渡し、そこに並べ替えます。 – PJ62