1

我刚从 node.js 开始,这个问题肯定有一个明显的答案,但我无法解决。

让我们有一个club用这个单一方法调用的模型:

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

到目前为止,我通过回调管理应用程序流,但现在我被困在模板中。我将如何呈现异步调用?我想遍历staff并打印它。

我想我可以在渲染之前调用这个方法,实际上在它的回调中渲染。这感觉有些不对劲。如果不需要调用该方法(因为模板中的 if),则会浪费资源。此外,渲染包装器会随着引入的每个新(异步)变量而增长。

4

2 回答 2

1

对于大多数模板引擎,您无法从模板中调用异步函数。

相反,您必须从控制器调用异步函数,当它返回时,将数据传递给模板。

假设快递:

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 回答