使用 sqlite3 的异步/等待函数

时间:2021-01-02 02:26:12

标签: javascript sqlite async-await

我试图从 db 表中获取所有数据,但我看不到结果。这是我的代码:

主要代码:

var tetera_raw = require('./file');

async function updating_db(tetera_raw){
    const obj_tetera = await tetera_raw.tetera_raw()
    .then(te =>{
        console.log(te)
        return te
    })
    .catch(err =>{
        console.log(err)
    })
    console.log(obj_tetera)
    
};

updating_db(tetera_raw);

查询代码:

const sqlite3 = require("sqlite3").verbose()

async function tetera_raw(){

    var tetera_new_raw = {}

    let db = new sqlite3.Database('databasename.db', (err)=>{
        if(err){
            console.log("Connection to the db FAILED");
        }
    })
    db.all("SELECT * FROM tetera", function(err, rows){
        if(err){
            console.log("something went wrong with the query")
        }
        rows.forEach((row) =>{
            //console.log(row)
            tetera_new_raw[row.producto] = tetera_new_raw[row.precio]
        })
    })
    return tetera_new_raw;
};

module.exports.tetera_raw = tetera_raw

大多数情况下我得到 {} 或未定义。使用 console.log( 在 forEach 里面我可以看到查询的结果:-(

0 个答案:

没有答案