大家好,我很困惑为什么这在我的连接 js文件中不起作用
function getConnection(callback) {
initPool()
mysql_pool.getConnection((err, conn) => {
if (err) {
return callback(err);
}
return callback(err, conn);
});
}
function query(queryString, callback) {
getConnection((err, connection2) => {
if (connection2 != undefined) {
if (err) {
connection2.destroy();
return callback(createDataResponseObject(err, null))
}
connection2.query(queryString, function (err, rows) {
connection2.destroy();
if (!err) {
return callback(createDataResponseObject(err, rows))
}
else {
return callback(createDataResponseObject(err, null))
}
});
}
});
}
function createDataResponseObject(error, results) {
if (error) {
logger.info(error);
}
return {
error: error,
results: results === undefined ? null : results === null ? null : results
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当我在router.js中获取此连接 js 时 ,下面是示例代码
var conn=require("./connection")
router.post('/test',async function(res,req){
var query ="select * from users"
let x= await conn.query(result);
console.log(x)
});
Run Code Online (Sandbox Code Playgroud)
在连接js文件中,我没有使用promise,那么为什么异步在路由器中不起作用,即它应该仍然有效,因为我使用回调,任何人都可以告诉我我错过了什么或我做错了什么。当我在connection.js文件中使用返回承诺尝试它时,它工作了。我知道异步返回承诺
| 归档时间: |
|
| 查看次数: |
2953 次 |
| 最近记录: |