Скажем, у меня есть этот script:
var thisIsTrue = false;
exports.test = function(request,response){
if(thisIsTrue){
response.send('All is good!');
}else{
response.send('ERROR! ERROR!');
// Stop script execution here.
}
console.log('I do not want this to happen if there is an error.');
}
И как вы можете видеть, я хотел бы остановить выполнение script от любых последующих функций, если есть ошибка.
Мне удалось достичь этого, добавив return;
после отправки ответа об ошибке:
var thisIsTrue = false;
exports.test = function(request,response){
if(thisIsTrue){
response.send('All is good!');
}else{
response.send('ERROR! ERROR!');
return;
}
console.log('I do not want this to happen if there is an error.');
}
Но разве это "правильный" способ сделать что-то?
Альтернативы
Я также видел примеры, которые используют process.exit();
и process.exit(1);
, но это дает мне ошибку 502 Bad Gateway
(я предполагаю, что она убивает node?).
И callback();
, который просто дал мне ошибку undefined.
Каков "правильный" способ остановить node.js script в любой заданной точке и предотвратить выполнение любых последующих функций?