我正在努力尝试将三个需要在 node.js 中同步的请求链接在一起。这是我使用 Promise 的尝试,但我收到一条错误消息,指出 db.run 不是函数。第一个动作应该插入到我的 sqlite 数据库中。我需要的最重要的东西是 this.lastID 变量,它列出了最后一个 enetered 项目的 id。在尝试使用 Promise 之前,我在范围界定方面遇到了麻烦。这很重要,因为我需要获取此值并在回调键下的 JSON 对象中使用它。最后,我使用 requests npm 包发送请求。
我正在使用 bluebird promise 库、sqlite3 npm 包、nodejs、express。
对此的任何帮助都会很棒,因为我迷路了。
function db() {
return new Promise(function(resolve, reject) {
db.run(`INSERT INTO scan_requests(name, date) VALUES(?,?);`, [name,date], function(err) {
if (err) {
console.log(err)
}
let q = this.lastID
resolve(q)
})
})
}
db()
.then(function(q) {
let options = {
url: 'API',
body: {
name: req.name,
scan_callback: `http://localhost:80/${q}`
},
json: true
}
resolve(options)
}).then(function(options) {
console.log(options)
})