0

我想使用 res.locals 创建一个 dynamicHelper 。例如:

res.locals.someHelper = function(arg){
  Model.find(arg, function(err, docs){
    return docs;
  });
}

好吧,我会在任何视图中使用它。例如:

- each item in someHelper(arg)
  = item
4

1 回答 1

0

不要在视图助手中进行异步调用。您应该在调用视图渲染之前准备好所有这些异步数据,这样您就可以同步使用它们。

为此,您可以在路由器中使用异步模块。

async.parallel({
  name: function (callback) {
    Model.find(arg, callback);
  },
  age: function (callback) {
    Model.find(arg, callback);
  }
}, function (err, results) {
  for (var i in results) {
    res.local[i] = results[i];
  }
  return next();
});
于 2013-10-27T08:22:55.277 回答