【发布时间】:2014-03-11 13:01:38
【问题描述】:
我正在尝试使用 sqlite3 的承诺。这是我的源代码的一部分:
this.deleteTag = function(tag, project){
var db = this.db;
if (project){
return q.nfcall(db.run, "DELETE FROM tag2project WHERE tag = ? AND project = ?",
[tag.id, project.id]);
}else{
return q.all([
q.nfcall(db.run, "DELETE FROM tag2project WHERE tag = ?", [tag.id]),
q.nfcall(db.run, "DELETE FROM tags WHERE id = ?", [tag.id])
]);
}
};
但那些承诺只在错误为 .fail 的地方输入:
[TypeError: Database object expected]
搜索这个错误只让我找到了 sqlite 本身的源代码https://github.com/joyent/smartos-live/blob/master/src/node-sqlite3/src/statement.cc#L91
使用简单回调的旧版本正在工作,因此this.db或sql查询没有错误。
【问题讨论】:
标签: javascript sqlite promise