Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 抛出错误时节点js中的事件循环是否已清除?_Javascript_Node.js_Error Handling - Fatal编程技术网

Javascript 抛出错误时节点js中的事件循环是否已清除?

Javascript 抛出错误时节点js中的事件循环是否已清除?,javascript,node.js,error-handling,Javascript,Node.js,Error Handling,我正在尝试执行在代码执行时抛出并出错的代码。我想知道抛出错误时异步调用是否被清除 例如: try{ axios(api) // will asynchronous call continue to execute even though error is thrown? throw new Error(); }catch(e){ } axios()调用将运行axios函数中的所有语句,其中一些语句将生成后台作业。然后它抛出(并捕获)错误。然后,当后台作业完成时,它将事件和回调函数放入

我正在尝试执行在代码执行时抛出并出错的代码。我想知道抛出错误时异步调用是否被清除

例如:

try{
  axios(api) // will asynchronous call continue to execute even though error is thrown?
  throw new Error();
}catch(e){

}
axios()
调用将运行
axios
函数中的所有语句,其中一些语句将生成后台作业。然后它抛出(并捕获)错误。然后,当后台作业完成时,它将事件和回调函数放入事件循环队列中

异常(特别是被捕获时)不会清除任何正在运行的后台作业,它对这些作业没有任何了解,而且只有在应用程序中的其他地方发生异常时,才取消后台作业将是相当混乱的操作


发生这种情况的唯一方法是未捕获异常,在这种情况下,node.js会使整个过程崩溃,停止事件循环并终止任何后台作业。

您尝试过这种方法吗?这似乎很容易理解。是的,我已经尝试过了,但事件循环不能保证调用何时完成。因此不确定是的,但是如果您设置了一个实验,其中异步调用做了一些琐碎的事情,比如
console.log()
。然后运行上面的代码,你会立即得到答案。为什么它会被“清除”(不管确切的意思是什么)?事件循环和它有什么关系?@AkshayBande不,我想你误解了异步调用是什么。
axios()
调用将运行
axios
函数中的所有语句,其中一些语句将生成后台任务。然后它抛出(并捕获)错误。然后,当后台任务完成时,它将事件和回调函数放入事件循环队列中。