Node.js中的PHP die()等价物是什么

时间:2014-01-17 11:44:28

标签: php node.js

Node.js中的PHP die()等价物是什么?

5 个答案:

答案 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' }