这是对 Sequelize.js 使用承诺的正确方法吗?

Is this the proper way to use promises with Sequelize.js?

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 是一个具有 User 模型和 Entity 模型的 Sequelize 对象。我想先创建一个用户,然后为该用户创建一个实体。这是将事物链接在一起以使 promise 有用的正确方法吗?

是;这是完全正确的。

如果将 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);
});

让一切都变得漂亮和统一。