Node.js中的PHP die()
等价物是什么?
答案 0 :(得分:54)
process.exit()
是等效的电话。
答案 1 :(得分:15)
我会使用throw
。抛出将导致当前的当前请求结束,并且不会终止节点进程。您可以使用错误视图捕获该输出。
throw new Error('your die message here');
答案 2 :(得分:5)
它需要向stderr(而不是stdout)报告并以非零状态退出而死()......
function die (errMsg)
{
if (errMsg)
console.error(errMsg);
process.exit(1);
}
答案 3 :(得分:5)
如果不在函数中,您可以使用:
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...
并退出,退出代码为1。
try {
process.exitCode = 1;
process.exit(2);
}
finally {
console.log('ending it...'); // this is not shown
}
这将在控制台上不打印任何内容并退出,退出代码为2。
答案 4 :(得分:0)
您现在可以使用 npm 包 dump-die。
我查看了 github 上的包,它实际上使用了 process.exit(1)
。
首先,通过npm install dump-die
安装它。它有一个 dd()
函数。
let foo = 'bar'
let hodor = { hodor: 'hodor' }
dd(foo, hodor)
// returns
// 'bar'
// { hodor: 'hodor' }