没有结果的交易
Transaction with no result
我正在使用 Bluebird Promise,我正在尝试进行交易,保存用户记录,然后使用 userId 将新记录插入房间 table:
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;
但是我没有收到任何成功或错误的回复。
您必须return来自回调的承诺。
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 });
})
})
我正在使用 Bluebird Promise,我正在尝试进行交易,保存用户记录,然后使用 userId 将新记录插入房间 table:
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;
但是我没有收到任何成功或错误的回复。
您必须return来自回调的承诺。
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 });
})
})