node.js - mongodb多条查询,如何在所有查询执行完成后再回显到页面。
迷茫
迷茫 2017-05-02 09:26:15
0
1
629
router.get('/test.node', function(req, res, next) {
    //定义回显的msg
    var msg = {
        stats: 1,
        err: [],
        main: {},
        mark: ''
    };
    //查询数据1
    var paywayList = [];
    //查询数据2
    var tradeList = [];
    //查询数据3
    var rechargeList = [];
    //查询数据4
    var tradeSum = {};
    
    //每查询一次调用一次okCountFunc()
    //查询数据1
    bossService.getPaywayListByMerchant(merchantId, branchId, function(items) {
        paywayList = items;
        okCountFunc();
    });
    //查询数据2
    bossService.getPaysumListByMerchant(merchantId, branchId, params.startDate, params.endDate, function(items) {
        tradeList = items;
        okCountFunc();
    });

    //查询数据3
    bossService.getVippaysumListByMerchant(merchantId, branchId, params.startDate, params.endDate, function(items, objs) {
        rechargeList = objs;
        okCountFunc();
    });
    //查询数据4
    bossService.getDaysumListByMerchant(merchantId, branchId, params.startDate, params.endDate, function(list, sum) {
        tradeSum = sum;
        okCountFunc();
    });
    
    //统计计数
    var okCount = 0;
    var okCountFunc = function() {
        okCount++;
        if (okCount == 4) { //到这里查询已全部结束
            //最后合并该统计数据
            msg.main.paywayList = paywayList;
            msg.main.tradeList = tradeList;
            msg.main.rechargeList = rechargeList;
            msg.main.tradeSum = tradeSum;
            res.send(msg);
        }
    }
});
  • 有没有更加便捷的方法,当所有查询执行完成后再回显到页面。

  • promise?有没有demo.

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(1)
phpcn_u1582

リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート