Javascript mongoose中的异步回调

Javascript mongoose中的异步回调,javascript,node.js,mongoose,Javascript,Node.js,Mongoose,我想为从查询中检索到的每个语句添加该语句的计数。然而,回调是异步发生的,所以只有当for循环已经结束时,才会执行count。在猫鼬身上做这种练习的好方法是什么 router.get('/', function (req, res) { Statement.find({}, function (err, statements) { if (err) throw err; for (var i = 1; i <= statements.length;

我想为从查询中检索到的每个语句添加该语句的计数。然而,回调是异步发生的,所以只有当for循环已经结束时,才会执行count。在猫鼬身上做这种练习的好方法是什么

router.get('/', function (req, res) {

    Statement.find({}, function (err, statements) {
        if (err) throw err;

        for (var i = 1; i <= statements.length; i++) {

            var condition = JSON.parse("{ \"stmt"+i+"\" : 1 }");

            Record.count(condition, function (err, count) {
                if (err) throw err;

                statements[i].count = counts[i];
            });
        }

        res.render('index', {
            stmts: statements,
            title: 'Stemtest Visualization'
        });
    });
});
router.get('/',函数(req,res){
语句.find({},函数(err,语句){
如果(错误)抛出错误;

对于(var i=1;我使用承诺。或者
async
library你能给我一个如何使用承诺的例子吗?类似的问题在本文中得到了解决