我是新来的JavaScript的来自Java,我试图实现一个sleep(millis)
函数。基本上我需要向一个端点发出请求,如果它返回一个错误,请稍等一会再发出请求...使用Javascript的睡眠功能
我发现JavaScript的setTimeout()
函数,但它有一个奇怪的(对我来说)行为,因为它似乎代码仍然在运行,我不想做任何事情,但稍候...
了一些研究之后,我发现这个功能here:
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
随着这个功能我实现了我想要的,但我知道它可能不是正确的方法,我没有找到任何其他解决方案所以,我想知道,在你看来,这是:
- 一个完全有效的解决方案?
- 一个不错的解决方法?
- 对你的眼睛只是痛苦?
我宁愿用'setTimeout'安排我跑比吃了CPU资源循环那样的。 – NilsH 2013-05-08 12:02:15
检查此问题http://stackoverflow.com/questions/951021/what-do-i-do-if-i-want-a-javascript-version-of-sleep – 999k 2013-05-08 12:03:09
您可以通过适当的方式和JavaScript方式执行此操作。向端点发出ajax请求并获取响应,像这样处理它。如果出错,请给出与'setTimeout'的参数相同的函数。否则使用你的timeoutId来清除'clearTimeout'。 – smitrp 2013-05-08 12:08:37