Я пытаюсь отправить данные в свою локальную базу данных sqlite. Данные появляются в моей таблице базы данных после POST, но Promise.resolve()
возвращается как undefined
, что, в свою очередь, не возвращает результат клиенту. Я что-то упускаю?
Любая помощь будет принята с благодарностью. Вот что у меня получилось.
module.exports.addAccount = function (data) {
const db_conn = new sqlite3.Database( path.join(__dirname, "../user_database.sql") )
return new Promise( function (resolve, reject) {
db_conn.serialize( function () {
// insert row
db_conn.run("INSERT INTO some_table (username) VALUES (?);", [data.username], function (err,rows) {
if (!err) {
console.log(rows) // always returns undefined
resolve([rows, this.lastID])
} else {
reject(err)
}
})
})
db_conn.close()
})
}
Тогда:
app.post("/add-row", function (req, res) {
user_info.addAccount(req.body).then( function(response) {
res.json({
rows: response[0], // this is undefined
row_id: response[1] // this is not
})
}).catch(function () {
})
})