无法捕获来自findOrCreate()sailsjs的错误

问题描述 投票:0回答:1

我正在尝试像这样使用try.. catchenter image description here

但是似乎checkServiceStatus(value)不能抛出错误来捕获

这是我的职责

checkServiceStatus = async function(value) {
  let service = await Service.findOne({ nameOfService: value.nameOfService });
  let serviceStatus = await ServiceStatus.findOrCreate(
    {
      service: service.id,
      date: value.dateInBooked
    },
    {
      date: value.dateInBooked
    }
  ).exec(async (err, statusData, newStatusData) => {
    if (err) {
      throw new Error(sails.config.status.SERVER_ERROR);
    }
    if (newStatusData) {
      let newUsing = statusData.using + value.selectedDog.length;
      await Service.addToCollection(service.id, 'status').members(
        statusData.id
      );
      let record = await ServiceStatus.update({ id: statusData.id }).set({
        using: newUsing
      });
      return;
    } else {
      let compare = statusData.using + value.selectedDog.length;
      if (compare > statusData.limit) {
        sails.log('fdsafdsa');
        throw new Error(sails.config.status.FULL_RESERVATION); //this is the error
      } else {
        let record = await ServiceStatus.update({ id: statusData.id }).set({
          using: compare
        });
      }
    }
  });
};

我错过了等待吗?我该如何解决此错误?这就是我得到的enter image description hereenter image description here

node.js async-await try-catch sails.js
1个回答
0
投票

删除await之前的error.message(在所有位置)>>

© www.soinside.com 2019 - 2024. All rights reserved.