一尘不染

如何从find方法返回猫鼬结果?

node.js

我能找到的所有带有猫鼬结果的页面都可以做到这一点:

users.find({}, function(err, docs){
    res.render('profile/profile', {
        users:     docs
    });
});

如何从查询中返回结果,更像这样?

var a_users = users.find({}); //non-working example

这样我就可以在页面上发布多个结果?

喜欢:

/* non working example */
var a_users    = users.find({});
var a_articles = articles.find({});

res.render('profile/profile', {
      users:    a_users
    , articles: a_articles
});

能做到吗?


阅读 298

收藏
2020-07-07

共1个答案

一尘不染

您正在尝试强制执行同步范例。就是行不通。node.js是单线程的,大部分情况下-
完成io后,便产生了执行上下文。信令通过回调进行管理。这意味着您具有嵌套的回调,命名函数或流控制库,以使外观看起来更好。

https://github.com/caolan/async#parallel

async.parallel([
   function(cb){
      users.find({}, cb);
   },
   function(cb){
      articles.find({}, cb);
   }
], function(results){
   // results contains both users and articles
});
2020-07-07