作用
实际上,这个参数是为了处理异步函数异常中断的,我们举例说明。
例子
function waitFor(ms
) {
return new Promise(resolve
=> {
setTimeout(resolve
, ms
);
});
}
async function main(shouldFailed
) {
await waitFor(1000);
throw new Error("ERRRRRRR!");
}
main();
我们在异步函数主动抛出一个异常,现在把这个脚本命名为 test.js
不含该参数
执行 Node:
node test.js
确实是抛出异常了。
之后我们查看上一条命令执行是否成功(状态码):
echo $?
是执行成功的,这不符合我们的预期。
含该参数
node --unhandled-rejections
=strict test.js
注意该参数需要放在脚本文件名前面。
抛出错误直接中断。
我们看一下状态码: 没有执行成功,符合我们的预期。