php - nodejs 获取两个异步查询的结果

查看:105
本文介绍了php - nodejs 获取两个异步查询的结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

let $search1 = mysql.query($sql,callback);
let $search2 = mysql.query($sql2,callback2);

let $result = [$search1,$search2];
.......后面处理$result 以及其他逻辑

这种同步的逻辑在nodejs中要怎么实现? 使用的是 异步的mysql库,$result要拿到两个查询的结果

mysql部分:

class mysql {

    query($sql,callback){
    
        return this.conn.query($sql,{},function($result){
            return $result
        });
    }

}

解决方案

谢邀。
不需要什么库,只需要升级下高版本的nodejs就行。
举个promise的例子

function queryA() {
  return new Promise((resolve, reject) => {
    mysql.query($sql, (err, results, fields) => {
      if (err) reject(err);
      mysql.query($sql1, (err, results, fields) => {
        if (err) reject(err);
        resolve(results);
      });
    });
  });
}

function queryB() {
  return new Promise((resolve, reject) => {
    mysql.query($sql2, (err, results, fields) => {
      if (err) reject(err);
      mysql.query($sql22, (err, results, fields) => {
        if (err) reject(err);
        resolve(results);
      });
    });
  });
}
var p = Promise.all([queryA, queryB]);

p.then(function([resultsA, resultsB]) {
  // ...
  console.log(resultsA, resultsB);
}).catch(function(err) {
  // ...
});

这篇关于php - nodejs 获取两个异步查询的结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆