Node.js async call from teplate

I just started with node.js and this question has an obvious answer for sure, but I can't pull it off.

Lets have a model called club with this single method:

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

So far I managed the application flow through the callbacks, but now I'm stuck in templates. How would I render an async call? I would like to iterate over the staff and print it.

I suppose I could call this method before the render and in fact render in it's callback. That feels somewhat wrong. Wastes resources if the method does not need to be called (because of a if in the template of whatever). Also, the render wrapper would grow for each new (async) variable introduced.

With most templating engines, you can't call async functions from your template.

Instead you have to call the async function from your controller, and when it returns, pass the data to the template.

Assuming Express:

app.get('/route/', function(req, res) {
    club.getStaff(function(data) {
        res.render('template', data);
    });
});

in node you can use nai for async templates.