php - nodejs 获取两个异步查询的结果
本文介绍了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屋!
查看全文