Решение 01:
Строка 1: нужен третий параметр, next
, чтобы передать ошибку следующему обработчику.
Строка 16: передать ошибкук следующему обработчику ошибок: return next(error);
Примечание: в вашем корневом файле, например index.js
или server.js
, или что вы используете, вам нужен обработчик ошибок, например,
app.use((err, req, res, next) => {
console.log('Found a error');
});
Ваш окончательный код будет:
router.post("/message", async (req, res, next) => {
const newMessage = new Message({
From: req.body.sendersPhoneNumber,
To: 9188123560,
OTP: req.body.randomNumber,
Message: req.body.TextToSend
})
newMessage.save().then((response) => {
const from = "NEXMO"
const to = response.To
const text = response.Message
nexmo.message.sendSms(from, to, text, {type: 'unicode'}, (error, responseData) => {
if (error) {
console.log(error)
return next(error);
} else {
console.dir(responseData)
res.send(responseData)
}
})
})
})
Решение 2:
Если вы столкнулись с ошибкой, передайте ее на стороне клиента, используйте res.status(400).send(error);
В этом случае ваш код должен быть
router.post("/message", async (req, res, next) => {
const newMessage = new Message({
From: req.body.sendersPhoneNumber,
To: 9188123560,
OTP: req.body.randomNumber,
Message: req.body.TextToSend
})
newMessage.save().then((response) => {
const from = "NEXMO"
const to = response.To
const text = response.Message
nexmo.message.sendSms(from, to, text, {type: 'unicode'}, (error, responseData) => {
if (error) {
console.log(error)
return res.send(error);
} else {
console.dir(responseData)
res.send(responseData)
}
})
})
})