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

6tdlim6h  于 2023-03-17  发布在  Node.js
关注(0)|答案(6)|浏览(141)
vptzau2j

vptzau2j1#

process.exit()是等效的调用。

cngwdvgl

cngwdvgl2#

我将使用throw。抛出将导致当前请求结束,并且不会终止节点进程。您可以使用错误视图捕获该输出。

throw new Error('your die message here');
2lpgd968

2lpgd9683#

它需要向stderr(而不是stdout)报告,并以非零状态die()退出...

function die (errMsg) 
{
    if (errMsg)
        console.error(errMsg);
    process.exit(1);
}
wz1wpwve

wz1wpwve4#

如果不在函数中,则可以用途:

return;

但你也可以用@UliKöhler的建议:

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退出。

bweufnob

bweufnob5#

现在可以使用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' }
5t7ly7z5

5t7ly7z56#

你可以写:
return false在要暂停的块之后。例如:

if(something<=0)
    return false;

这将停止操作。因为JS是在浏览器上工作的,所以你不能在某个点停止页面进程。这是可重复操作的。请根据需要发挥你的想象力来使用它。

相关问题