var newUser;
newUser = {
name: req.body.name,
email: req.body.email,
username: req.body.username,
password: req.body.password
};
global.db.User.create(newUser).then(function(dbUser) {
var newEntity;
newEntity = {
name: newUser.name + " Default Entity"
};
return global.db.Entity.create(newEntity);
}).then(function(dbEntity) {
console.log(dbEntity);
return res.json(dbUser.display());
})["catch"](function(err) {
console.log(err);
return next(err);
});
global.db
是一个Sequelize对象,具有User
模型和Entity
模型。我想首先创建一个用户,然后为该用户创建一个实体。这是将事物联系起来以使承诺有用的正确方法吗?
答案 0 :(得分:2)
如果您将catch
调用为.catch()
而不是["catch"]
,则可能更干净:
global.db.User.create(newUser).then(function(dbUser) {
var newEntity;
newEntity = {
name: newUser.name + " Default Entity"
};
return global.db.Entity.create(newEntity);
}).then(function(dbEntity) {
console.log(dbEntity);
return res.json(dbUser.display());
}).catch(function(err) {
console.log(err);
return next(err);
});
使一切变得美好和均匀。
答案 1 :(得分:1)
是;这是完全正确的。