繁体   English   中英

等到功能完成

[英]Wait until function is complete

在另一个线程中获得一些帮助之后,我现在有了一个工作代码,该代码等待3000,然后将一个变量设置为1。然后循环检查每1000个变量,直到该变量已更改,然后发出警报。

 var myvalue; setTimeout(function() { myvalue = 1; }, 3000); function check() { if (myvalue == 1) { alert("Value Is Set"); } else { setTimeout(check, 1000); } } alert("debug1"); check(); alert("debug2"); 

我现在的问题是,它不会等到check()函数完成后再继续操作。 我添加了一些调试alert ,可以看到所有alert都立即被触发。

如何使它等待而不使用超时?

您可以传递回调并在函数完成后调用它。

像这样:

 var myvalue; setTimeout(function() { myvalue = 1; }, 3000); function check(callback) { if (myvalue == 1) { alert("Value Is Set"); callback && callback(); } else { setTimeout(check, 1000, callback); } } alert("debug1"); check(function() { alert("debug2"); }); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM