await 没有等待回promise
async function getDataFromDB(type,sql,connect_handler,data=[]){
return new Promise(function(resolve,reject){
if(type == "mysql"){
if(data.length == 0){
let t = connect_handler.query(sql,function(err,result,fields){
if(err){
//console.log(err);
reject(err);
}else{
//console.log(results);
// Promise.resolve(results);
resolve(result);
}
})
}else{
connect_handler.query(sql,data,function(err,result,fields){
if(err){
//console.log(err);
reject(err);
}else{
resolve(result);
}
})
}
}else if(type == "oracledb"){
if(data.length == 0){
connect_handler.execute(sql,function(err,result){
if(err){
//console.log(err);
reject(err);
}else{
resolve(result);
}
})
}else{
connect_handler.execute(sql,data,function(err,result){
if(err){
//console.log(err);
reject(err);
}else{
//console.log(result);
resolve(result);
}
})
}
}else{
console.error("第一个参数限填mysql或者oracledb");
}
})
}
connection.then(async function([oracle_connect,mysql_connect]){
console.log("两个数据库都成功连接");
let studentNoSet = await getDataFromDB("mysql",`select distinct stu_no from stu_detail`,mysql_connect);
**console.log(studentNoSet); //这里打印出来是数据 而不是promise**
/*studentNoSet.then(function(data){
console.log(data);
console.log("退出程序");
process.exit(1);
}).catch(function(err){
console.log(err);
});*/
});
这个返回的是promise吧
await
这个promise
得到的是getDataFromDB
作为普通函数的返回值吧