Await - это единственная асинхронная функция: API NODE - PullRequest
0 голосов
/ 08 апреля 2019

Я не могу воспользоваться приведенным ниже фрагментом кода. Я попытался вызвать асинхронную функцию, но я получаю сообщение об ошибке, как показано ниже. Я пытаюсь подключиться к 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; 

Я хотел, чтобы при открытии ссылки отображался набор записей. Есть ли способ решить эту проблему?

1 Ответ

1 голос
/ 08 апреля 2019

Проблема на этом маршруте.

   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);     

    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...