Показать сообщение отдельно
  #3 (permalink)  
Старый 08.12.2017, 12:55
Новичок на форуме
Отправить личное сообщение для Condorrr Посмотреть профиль Найти все сообщения от Condorrr
 
Регистрация: 08.12.2017
Сообщений: 6

На самом деле это немного неверно, ведь функция может завершиться через 5мс, а повторный вызов функции произойдет через максимальный интервал. Хотелось побыстрее привести пример, но из-за неверного вопроса, наверное, добавлю кусочек кода:
function myFunction(){
function result(){
        var test = Number(document.getElementById("test").innerHTML);
            if(test > 0){
               return;
               }
            else {
                document.getElementsByClassName("button")[0].click();
function result(){
        var test = Number(document.getElementById("test").innerHTML);
            if(test > 0){
               return;
               }
            else {
                document.getElementsByClassName("button")[0].click();
function result(){
        var test = Number(document.getElementById("test").innerHTML);
            if(test > 0){
               return;
               }
            else {
                document.getElementsByClassName("button")[0].click();
function result(){
        var test = Number(document.getElementById("test").innerHTML);
               if(test > 0){
               return;
               }
else { /*тут может продолжаться бесконечно долго, пока не будет получено if(test > 0) */}
    			         }
        setTimeout(result, 5000);
                 }
    			         }
        setTimeout(result, 5000);
                 }
    			         }
        setTimeout(result, 5000);
                 }
}
}

        myFunction();

Такая конструкция может длиться от 5000мсек до очень долго. return может окончить данную функцию в любой момент и задача стоит именно после окончания функции вызвать её повторно.

Последний раз редактировалось Condorrr, 08.12.2017 в 13:47. Причина: не нарушаю правила форума.
Ответить с цитированием