Что такое эквивалент PHP die()
в Node.js?
process.exit()
– эквивалентный вызов.
Я бы использовал throw
. Throw приведет к завершению текущего запроса и не приведет к завершению процесса узла. Вы можете поймать этот вывод, используя ваше представление об ошибке.
throw new Error('your die message here');
Он должен сообщать stderr (а не stdout) и выходить с ненулевым статусом, чтобы быть die () …
function die (errMsg) { if (errMsg) console.error(errMsg); process.exit(1); }
Если нет в функции, вы можете использовать:
return;
Но вы также можете использовать предложение @ UliKöhler :
process.exit();
Есть некоторые отличия:
return
заканчивается более изящным. process.exit()
более крутой. return
не устанавливает код выхода, например process.exit()
. Пример:
try { process.exitCode = 1; return 2; } finally { console.log('ending it...'); // this is shown }
Это ending it...
печать ending it...
на консоли и выйдет с кодом выхода 1.
try { process.exitCode = 1; process.exit(2); } finally { console.log('ending it...'); // this is not shown }
Это ничего не выведет на консоль и выйдет с кодом выхода 2.