【发布时间】:2020-10-15 17:15:43
【问题描述】:
我有这个函数是async,我正在尝试从npm-mysql db 进行一个简单的查询。
let sortCategory = async (id) => {
try {
var sql = 'SELECT * FROM categories WHERE parent_id=?';
var results = await connection.query(sql, id);
// console.log(results);
return(results);
} catch(err) {
console.log(err);
return false;
}
}
但不是results 变量中的结果,我只得到查询对象。
Query {
_events:
[Object: null prototype] {
error: [Function],
packet: [Function],
timeout: [Function],
end: [Function] },
_eventsCount: 4,
_maxListeners: undefined,
_callback: undefined,
_callSite:
Error
at Protocol._enqueue (C:\Users\fedesc\Sites\borsalino\node_modules\mysql\lib\protocol\Protocol.js:144:48)
at Connection.query (C:\Users\fedesc\Sites\borsalino\node_modules\mysql\lib\Connection.js:198:25)
at sortCategory (C:\Users\fedesc\Sites\borsalino\server\routes\categories.js:35:38)
at router.post (C:\Users\fedesc\Sites\borsalino\server\routes\categories.js:48:31)
at process._tickCallback (internal/process/next_tick.js:68:7),
_ended: false,
_timeout: undefined,
_timer: Timer { _object: [Circular], _timeout: null },
sql: 'SELECT * FROM categories WHERE parent_id=\'0\'',
values: '0',
.... }
在对象中看到的query 是
sql: 'SELECT * FROM categories WHERE parent_id=\'0\'',
values: '0',
编辑#1
INSERT 查询的异步/等待确实有效。只有当我需要取回数据时,我才得到它。
但我无法恢复结果,即使我确实有一些应该返回的表。 我觉得我对 mysql 和异步调用还有一些不太了解的地方。
谢谢大家。
【问题讨论】:
标签: javascript mysql express asynchronous async-await