在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ await 等待返回不是promise 是什么原因

await 等待返回不是promise 是什么原因

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("第一個參數(shù)限填mysql或者oracledb");
        }
    })
    
}
    
    connection.then(async function([oracle_connect,mysql_connect]){
        console.log("兩個數(shù)據(jù)庫都成功連接");
    
        let studentNoSet = await getDataFromDB("mysql",`select distinct stu_no from stu_detail`,mysql_connect);
        **console.log(studentNoSet);   //這里打印出來是數(shù)據(jù)  而不是promise** 
        /*studentNoSet.then(function(data){
            console.log(data);
            console.log("退出程序");
            process.exit(1);
        }).catch(function(err){
            console.log(err);
        });*/
    });
回答
編輯回答
扯不斷

但是 console.log出來是undefined

2018年5月17日 11:56
編輯回答
帥到炸
getDataFromDB("mysql",`select distinct stu_no from stu_detail`,mysql_connect)

這個返回的是promise吧

await 這個 promise 得到的是 getDataFromDB 作為普通函數(shù)的返回值吧

2017年1月12日 14:36