1

私はnode.jsを始めたばかりで、この質問には確かに明らかな答えがありますが、うまくいきません。

clubこの単一のメソッドでモデルを呼び出してみましょう:

club.getStaff = function(callback) {
    client.sinter('club-staff:'+club.id, callback);
};

これまでは、コールバックを通じてアプリケーション フローを管理していましたが、今はテンプレートに行き詰まっています。非同期呼び出しをレンダリングするにはどうすればよいですか? staffを繰り返して印刷したいと思います。

レンダリングの前にこのメソッドを呼び出し、実際にはコールバックでレンダリングできると思います。それは少し間違っているように感じます。メソッドを呼び出す必要がない場合は、リソースを浪費します (テンプレートに if があるため)。また、レンダリング ラッパーは、導入された新しい (非同期) 変数ごとに大きくなります。

4

2 に答える 2

1

ほとんどのテンプレート エンジンでは、テンプレートから非同期関数を呼び出すことはできません。

代わりに、コントローラーから async 関数を呼び出す必要があり、返されたときにデータをテンプレートに渡します。

Express の場合:

app.get('/route/', function(req, res) {
    club.getStaff(function(data) {
        res.render('template', data);
    });
});
于 2012-08-31T17:57:31.680 に答える
0

ノードでは、非同期テンプレートにnaiを使用できます。

于 2014-10-22T18:13:36.503 に答える