Я новичок в 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;
}
}
}
с эту функцию я достигаю именно тем, что хочу, но я понимаю, что это не может быть правильным способом, и я не нашел другого решения s нравится это ... Итак, я хотел бы узнать, по вашему мнению, следующее:
- Совершенно действительное решение?
- Неплохое обходное решение?
- Просто больно для ваших глаз?
Я бы предпочел использовать 'setTimeout' планировать свои пробеги, чем съедают ресурсов процессора зацикливание, как это. – NilsH
Проверьте это http://stackoverflow.com/questions/951021/what-do-i-do-if-i-want-a-javascript-version-of-sleep – 999k
Вы можете сделать это правильно и javascript образом. Сделайте запрос ajax конечной точке и получив ответ, обработайте его так. Если ошибка, укажите ту же функцию, что и аргумент 'setTimeout'. иначе 'clearTimeout' с вашим timeoutId. – smitrp