【问题标题】:Having a callback after two asynchronous queries have completed using mongoose在使用 mongoose 完成两个异步查询后进行回调
【发布时间】:2011-05-13 05:26:17
【问题描述】:

使用猫鼬,我希望在完成 2 个不同的查询后进行回调。

var team = Team.find({name: 'myteam'}); var games = Game.find({visitor: 'myteam'});

那么假设我希望这些请求非阻塞并异步执行,那么如何在 Promise 中链接和/或包装这两个请求?

我想避免以下阻塞代码:

team.first(函数(t){ 游戏.所有(功能(g){ // 用 t 和 g 做一些事情 }); });

【问题讨论】:

    标签: mongoose


    【解决方案1】:

    我认为您已经找到了解决方案,但无论如何。您可以轻松使用async 库。在这种情况下,您的代码将如下所示:

    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
        }
    );
    

    【讨论】:

      【解决方案2】:

      我想你想看看类似的东西

      https://github.com/creationix/step

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-17
        • 1970-01-01
        • 2016-08-12
        • 1970-01-01
        • 2013-09-29
        • 2017-07-07
        相关资源
        最近更新 更多