函数/回调执行可以被外部调用中断吗?

Can a function / callback execution be interrupted by an external call?

本文关键字:外部调用 中断 回调 执行 函数      更新时间:2023-09-26

我在一个做一些非常重要操作的回调函数中,在任何其他调用可以从外部引发之前结束这个回调是非常重要的,所以没有中断。问题是:我能保证我的回调函数将在没有任何中断的情况下执行到结束,还是由于节点的异步性质,回调可以被中断,以便可以解决外部调用,然后恢复?

ECMAScript运行时是一个单线程执行环境。虽然操作可以在运行时主机的其他线程中进行,但当前正在运行的调用堆栈必须在其他操作开始之前终止。回调被放置到事件队列(由主机管理)中,在那里它们等待调用堆栈空闲。当发生这种情况时,将执行队列中的下一个回调。