在使用 mongoose 完成两个异步查询后进行回调
Posted
技术标签:
【中文标题】在使用 mongoose 完成两个异步查询后进行回调【英文标题】:Having a callback after two asynchronous queries have completed using 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 做一些事情 ); );【问题讨论】:
【参考方案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
【讨论】:
以上是关于在使用 mongoose 完成两个异步查询后进行回调的主要内容,如果未能解决你的问题,请参考以下文章