带有 MySQL 函数的 NodeJS-Express 请求需要异步?

NodeJS-Express request with MySQL functions inside needs async?

我是 NodeJS 中 MySQL(JS) 的新手,我一直使用 MongoDB。所以现在我很困惑,因为虽然教程中所有带有 Mongoose 函数的请求都有异步等待,但 MySQL 同一件事的教程却没有,大约 50% 有,50% 没有。有时字面上只是两个词:async await 是教程的不同之处。

示例非常简单的代码:

//Simple
router.get('/all', (req, res) => {
    //something here...
    db.query('SELECT * FROM table;', (error, result) => {
        if (error) { 
          res.json(error);
        } else {
          res.json(result.Array());
        }
    });
    //something here...
});

//Async Await
router.get('/all', async(req, res) => {
    //something here...
    await db.query('SELECT * FROM table;', (error, result) => {
        if (error) { 
          res.json(error);
        } else {
          res.json(result.Array());
        }
    });
    //something here...
});

那么正确的是什么?或者它真的是 MySQLJS 中的“可选”?

所以我使用 mysqljs 有一段时间了,我没有使用异步。我也问过一些使用它的人,他们都说这里不需要异步。使用异步的教程可能采用了异步,因为 mongodb 需要异步,并且由于 mysql 也是一个数据库,他们认为他们也应该在这里使用它。

TLDR:mysqljs 不需要异步。