我正在使用Bluebird Promise,我正在尝试进行事务,保存用户记录,然后使用userId将新记录插入房间表:
var promise = new Promise(
function resolver(resolve, reject) {
bookshelf.transaction(function (t) {
User.forge(data)
.save(null, { transacting: t })
.then(function (user){
Room.forge({ userId: user.id })
.save(null, { transacting: t });
})
})
.then(function (account) {
resolve(account);
}).catch(function (err) {
reject(err);
});
});
return promise;
但我没有得到任何成功或错误回复。
答案 0 :(得分:0)
您必须从回调中返回承诺。
bookshelf.transaction(function (t) {
return User.forge(data) // here
.save(null, { transacting: t })
.then(function (user){
Room.forge({ userId: user.id })
.save(null, { transacting: t });
})
})