node.js - Await 是唯一的异步函数:API NODE
问题描述
我无法使用下面的代码片段。我尝试调用异步函数,但收到如下所示的错误。我正在尝试连接到 Microsoft SQL Server。请查看代码,并请告诉我这些代码片段是什么。
**SyntaxError: await is only valid in async function**
var express = require('express');
var router = express.Router();
var sql = require('mssql');
async function connectDB(){
const pool = new sql.ConnectionPool(global.config.sqlConfig);
try {
await pool.connect();
console.log('Connected to DATABASE');
return pool;
}
catch(err){
console.log('conn failure');
return err;
}
};
async function executeQuery(req, res){
const DB = await connectDB();
try{
var result = await DB.request()
.query(req).then(function () {
console.log("QUERY PASSED");
console.log(result.recordset);
return result.recordset;
});
}
catch(err){
console.log("ERROR QUERYing DATABASE");
return err;
}
finally{
DB.close();
}
};
router.get('/login', function (req, res) {
var strquery = "select fUserPwd from tblUser where fUserID ='ADMIN'";
console.log(strquery);
const result = await executeQuery(strquery, res);
res.send(result);
});
module.exports = router;
我希望在打开链接时显示记录集。有没有办法解决这个问题?
解决方案
问题出在这条路线上。
router.get('/login',async function (req, res) {
var strquery = "select fUserPwd from tblUser where fUserID ='ADMIN'";
console.log(strquery);
const result = await executeQuery(strquery, res);
res.send(result);
});
推荐阅读
- npm - 如何在 npm 脚本中更喜欢全局 npm 而不是本地 npm?
- javascript - 如何在单击时更改具有一个 id 的多个按钮类?
- go - 带有 go 和 dep 的 Heroku:`推送被拒绝:无法编译 Go 应用程序`
- python - 对单词进行计数和排序时,带有大 .txt 文件 Python 的 MemoryError
- jquery - jQuery:仅当用户输入正确的字符串格式时才启用提交按钮
- node.js - 如何将 mongoose 查询的结果保存到变量中,以便在代码中*稍后*使用它的值?
- ios - 我想从 iOS 中的 html 内容中删除 wordpress 简码
- python - 如何在每次迭代中根据索引替换列值。以便每个表在每次迭代中都有新的值集
- cmake - 需要 cmake 上的 Qt5 路径信息
- python - 随时退出测验功能 - Python