带有 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 不需要异步。
我是 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 不需要异步。