在使用mongoose完成两个异步查询后进行回调

在使用mongoose完成两个异步查询后进行回调,mongoose,Mongoose,使用mongoose,我希望在两个不同的查询完成后有一个回调 var team = Team.find({name: 'myteam'}); var games = Game.find({visitor: 'myteam'}); var team=team.find({name:'myteam'}); var games=Game.find({visitor:'myteam'}); 那么,假设我希望这些请求不被阻塞并异步执行,那么如何在承诺中链接和/或包装这两个请求 我希望避免以下阻塞代码: t

使用mongoose,我希望在两个不同的查询完成后有一个回调

var team = Team.find({name: 'myteam'}); var games = Game.find({visitor: 'myteam'}); var team=team.find({name:'myteam'}); var games=Game.find({visitor:'myteam'}); 那么,假设我希望这些请求不被阻塞并异步执行,那么如何在承诺中链接和/或包装这两个请求

我希望避免以下阻塞代码:

team.first(function (t) { games.all(function (g) { // Do something with t and g }); }); 团队第一(职能(t){ 所有游戏(功能(g){ //用t和g做点什么 }); });
我想你应该看看


我想你已经找到了解决办法,但无论如何。你们可以很容易地使用图书馆。在这种情况下,您的代码如下所示:

async.parallel(
    {
        team: function(callback){
            Team.find({name: 'myteam'}, function (err, docs) {
                callback(err, docs);
            });
        },
        games: function(callback){
            Games.find({visitor: 'myteam'}, function (err, docs) {
                callback(err, docs);
            });
        },                    
    }, 
    function(e, r){
        // can use r.team and r.games as you wish
    }
);