我有这个javascript方法:
function waitcheck(){
if(wait == 0){
offlineUpload()
}
else{
setTimeout(waitcheck(), 2000)
}
}
我迷路了,现在我遇到一个错误,提示“超出最大堆栈大小”
此方法的目标是等待异步函数将var变为“ 0”。
有一个更好的方法吗?
如何解决这个错误?
最佳答案
您是递归地调用waitcheck
函数,而不是将该函数传递给setTimeout
。
在您的else
中执行此操作:
setTimeout(waitcheck, 2000)
假设在此函数之外正确设置了
wait
全局变量,则代码应该可以正常工作。