mongoose async await

1,568 阅读1分钟
printEmployees: async(company) => {
    var employees = await self.orderEmployees(company);
    // SECOND CONSOLE.LOG
    console.log(employees);
  },

  orderEmployees: (companyID) => {
    User.find({company:companyID})
    .exec()
    .then((employees) => {
      // FIRST CONSOLE.LOG
      console.log(employees);
      return employees;
    })
    .catch((err) => {
      return 'error occured';
    });
  },

错误示范

  1. 需要return User.find...

  2. return error是错误的,最好是: a)不管error,让上层的try catch捕捉,或者 b)throw new Error而不是return

  3. 注意await 需要.exec()

  1. 但是query可以then,这是mongoose很多古怪的地方的一点