首页 > 解决方案 > SQlite 在 NodeJS 中导致未定义的问题

问题描述

我对看似教科书的 SQlite 用法示例有疑问:

下面的代码

const db_client = new sqlite3.Database(HISTORY_DB, (err) => {
  if (err) {
    console.error(err.message, '## ERROR ##');
    return;
  }
  console.log('Connected to the SQlite DB');
});

const current_hour = new Date().getHours();
const sql = `SELECT value FROM history where hour = ${current_hour}`;

const getSql = async (sql) => {
  await db_client.get(sql, [], (err, row) => {
    if (err) {
      return console.error(err.message);
  } 
    console.log(row.value, 'FIRST');
    return parseInt(row.value);
  })
};
console.log(await getSql(sql), 'SECOND');

由于某种原因,我无法获得 sql 响应的值。我尝试了几种方法,但它始终未定义,但 console.log 有效。我想不明白。

控制台日志粘贴在下面:

undefined SECOND
Connected to the SQlite DB
287439002531265 FIRST

标签: javascriptnode.jssqlite

解决方案


推荐阅读