在抛出错误时,节点 js 中的事件循环是否被清除?

我正在尝试执行代码执行在代码执行时引发和错误的代码。我想知道在抛出错误时是否清除了异步调用?


例如:


try{

  axios(api) // will asynchronous call continue to execute even though error is thrown?

  throw new Error();

}catch(e){


}


子衿沉夜
浏览 88回答 1
1回答

慕工程0101907

调用将运行函数内的所有语句,其中一些语句将生成后台作业。然后它抛出(并捕获)错误。然后,当后台作业完成后,它会将事件和回调函数放入事件循环队列中。axios()axios异常(尤其是在捕获的情况下)不会清除任何正在运行的后台作业,它对它们没有任何了解,并且仅在应用程序中的其他位置发生异常时才取消后台作业,这在远处会非常令人困惑。发生这种情况的唯一方法是未捕获异常,在这种情况下,node.js会使整个进程崩溃,停止事件循环并终止任何后台作业。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript