Не отображает ответ отклонения возврата - nodejs

kavish спросил: 03 февраля 2018 в 12:58 в: javascript

Я совершенно новичок в узле js, а также в обещаниях. Я вызываю API со стороны клиента и его тела следующим образом

    return dbNameses.checkNamesAvailable(request.body.data.attributes.Names)
.then((results) => {
  if(results <= 0) {
    return dbNames.saveNewNames(request.body.data.attributes.Names).then((saveresults) =>{
      return response.setStatusCode(200).setPayload({
        message:"Name is saved"
    })
    }).catch()
  }else {
    return response.setStatusCode(500).setPayload({
      message:"Name is already exist"
   })
  }
}).catch(err => {
  return response.setStatusCode(400).setPayload({
     message : err,
     data : err.message
})

и сохраняю функциюNewNames следующим образом

    function saveNewNames(
  Names /* :?string | void */ 
)/* :Promise<string> */ {
  const connection = createConnection()
  return new Promise((resolve, reject) => {    var newNames = [];    var seperatedNames = Names.split(',')
    if(seperatedNames.length>2){      var firstNameLine = capitalFirstLetter(seperatedNames[0])
      var secondNameLine = seperatedNames[1].toUpperCase()
      var thirdNameLine = seperatedNames[2].toUpperCase()      var displayNames = firstNameLine + ',' + secondNameLine + ',' + thirdNameLine        newNames.push({
        "Names": Names,
        "display": displayNames
      })       var NamesToDb = JSON.stringify(newNames).replace(/]|[[]/g, ''
     )     const sql = `
     INSERT INTO Names
     (
       names
     )
     VALUES
     (
       ?
     )`
      const values = NamesToDb
      const query = connection.query(sql, values, (error, results, fields) => {
      connection.end()
      if (error) {
        return reject(error)
      }
        resolve(results)
      })
    }else{
      return reject(new Error('Please add a valid names'))    }})
    .catch((err) => {
      reject("There was an error adding Names to database", err.message)
      throw err
    })
}

Когда пользователь добавляет недопустимое имя, которое не в формате, оно отправляется на возврат reject (новая ошибка ("Пожалуйста, добавьте допустимые имена")). и возвращает ошибку 400. Но я не получаю сообщение об ошибке в сообщении: err или data: err.message, вместо этого я получаю данные: err.message, поскольку "reject не определен"

Может ли кто-нибудь пожалуйста, помогите мне решить это?


0 ответов