Express 没有结果的交易
我正在使用Bluebird Promise,我正在尝试执行一个事务,保存用户记录,然后使用userId将新记录插入房间表:Express 没有结果的交易,express,bookshelf.js,knex.js,Express,Bookshelf.js,Knex.js,我正在使用Bluebird Promise,我正在尝试执行一个事务,保存用户记录,然后使用userId将新记录插入房间表: var promise = new Promise( function resolver(resolve, reject) { bookshelf.transaction(function (t) { User.forge(data) .save(null, { transacting: t })
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;
但是我没有收到任何成功或错误的回复。您必须从回调中返回承诺
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 });
})
})