遇到个需求setTimeout执行完之后需调用一个方法,想到的解决方法是在外部定义个变量,setTimeout延迟执行的函数中去给变量赋值,同时在setTimeout外部用循环定时器setInterval去检测这个变量是否等于赋值
function foo(callback) { var a = false; setTimeout(function(){ a = true; },1000); var timer = setInterval(function(){ if(a) { clearInterval(timer); callback(); } },100); }