Почему мой ответ всегда http 400 код состояния - PullRequest
0 голосов
/ 11 октября 2019

Я изучаю Node.js и работаю над примером приложения. У меня вопрос, почему я всегда получаю http 400, даже если это успешный ответ.

    abcRoutes.get('/fetch', function (req, res) {
     abc.getInfo(req,(err,response) =>{
       if(err){
         res.status(400).send(err);
       }else{
         res.status(200).send(response);
       }
     })
    });



       var getInfo = (req, callBack) => {

        ***some processing***
            if (err) {
                callBack(err);
            } else {
                callBack(result);
            }
        });
        client.close();
    }
})

}

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

Вы должны установить первый аргумент (err) на null в случае успеха:

if (err) {
  callBack(err);
}
else {
  callBack(null, result);
}
0 голосов
/ 11 октября 2019

Ошибка здесь:

var getInfo = (req, callBack) => {
  //* **some processing***
  if (err) {
    callBack(err)
  } else {
    callBack(null, result) <---
  }
}

Используя шаблон обратного вызова, вы должны помнить, что первый аргумент всегда является ошибкой.

...