Javascript 从事务中获取结果

Javascript 从事务中获取结果,javascript,node.js,bookshelf.js,Javascript,Node.js,Bookshelf.js,如何取回用户记录,而不是下面交易的房间记录 bookshelf.transaction(function (t) { return User.forge(data) // here .save(null, { transacting: t }) .then(function (user){ return Room.forge({ userId: user.id }) .save(null, { transacting: t });

如何取回用户记录,而不是下面交易的房间记录

bookshelf.transaction(function (t) {
    return User.forge(data) // here
    .save(null, { transacting: t })
    .then(function (user){
        return Room.forge({ userId: user.id })
        .save(null, { transacting: t });
    })
})

在文件室完成后添加到链中

bookshelf.transaction(function (t) {
    return User.forge(data) // here
    .save(null, { transacting: t })
    .then(function (user){
        return Room.forge({ userId: user.id })
        .save(null, { transacting: t })
        .then(function (){
            return user;
        });
    })
})
使用

请注意,除非使用关系(在这种情况下可能是
hasOne
hasMany
),否则它不会附加到
User
模型:

bookshelf.transaction(function (t) {
    return User.forge(data)
    .save(null, { transacting: t })
    .tap(function (user){ // change here
        return Room.forge({ userId: user.id })
        .save(null, { transacting: t });
    })
})
bookshelf.transaction(function (t) {
    return User.forge(data)
    .save(null, { transacting: t })
    .tap(function (user){
        users.related('rooms').create({}, { transacting: t });
    })
})