提供了以下代码:
function update() {
var ret = someFun();
}
function someFun() {
while(true) { var i = 0 }
}
更新是否有可能在给定时间后停止等待函数调用的返回而不更改someFun?
答案 0 :(得分:6)
更新是否有可能在给定时间后停止等待函数调用的返回而不更改someFun?
否。
没有什么可以干预当前的执行上下文。来自MDN documentation:
“运行到完成”
在处理任何其他消息之前,将完全处理每条消息。这在推理程序时提供了一些不错的属性,包括每当函数运行时,它都不能被抢占并且在任何其他代码运行之前完全运行(并且可以修改函数操作的数据)。这与C不同,例如,如果一个函数在一个线程中运行,它可以在任何时候停止在另一个线程中运行一些其他代码。