setTimeout을 사용하여 재귀 적으로 함수 호출

심팔 쿠마르

나는 몇 가지 기능을 하나씩 재귀 적으로 호출하고 싶습니다 setTimeout.

var flag = 0 ;
function slave1(){
    if(flag < 60) {
        var COPY_PO_LINE_DIV = document.getElementById("DOM_ELEMENT1"); // Checking if DOM has loaded or not. If yes then doing something.
        if (COPY_PO_LINE_DIV != null) {
            flag = 0;
            //doing something
        } else { 
            setTimeout(slave1,2000); //waiting for 2 seconds and checking again.
        }
    }
}

//doing similar task
function slave2(){
    if(flag < 60) {
        var COPY_PO_LINE_DIV = document.getElementById("DOM_ELEMENT2");              
        if (COPY_PO_LINE_DIV != null) {
            flag = 0;
            //doing something
        } else {
            setTimeout(slave2,2000);
        }
    }
}

function master() {
    slave1();
    console.log("Without completing slave1 function.");
    slave2();
}

master()함수를 통해 여러 함수를 차례로 호출하고 싶지만 현재 상황에서는 slave2()완료하지 않고 호출 slave1()합니다. slave1()실행이 완료 되었는지 어떻게 확인할 수 있습니까 ? DOM 요소가로드되지 않은 경우 2 초마다 60 번 실행해야 slave1()하고 다음 요소 에서 나와서 다음 요소로 이동 해야합니다 .

다음 함수로 컨트롤을 반환하지 않고 dom 요소가로드되지 않으면 동일한 함수를 60 번 실행하고 싶습니다.

Artjom B.

slave1완료되면 콜백을 실행 하도록 조정해야 합니다 slave2.

function slave1(callback){
    if(flag < 60) {
        var COPY_PO_LINE_DIV = document.getElementById("DOM_ELEMENT1"); // Checking if DOM has loaded or not. If yes then doing something.
        if (COPY_PO_LINE_DIV != null) {
            flag = 0;
            //doing something
            callback();
        } else { 
            setTimeout(slave1,2000); //waiting for 2 seconds and checking again.
        }
    }
}

function slave2(){...}

function master() {
    slave1(slave2);
    console.log("Without completing slave1 function.");
}

이것이 기본적인 자바 스크립트 체인입니다. 더 많은 슬레이브 가 있다면 살펴보고 싶을 수도 있습니다. async.series그렇지 않으면 Gabs00이 멋지게 넣은 콜백 지옥으로 이동합니다.

slave1(function(){
    slave2(function(){
        slave3(function(){
            slave4(slave5);
        });
    });
});

콜백에 값을 전달해야하는 경우 해당 인수로 의도 된 콜백을 차례로 호출하는 중간 익명 함수를 사용해야합니다. 이렇게하려면 인수를 사용하도록 함수를 정의해야합니다.

function slave1(str, callback){...}
function slave3(i, callback){...}

slave1("some argument", function(){
    slave2("another argument", function(){
        slave3(1, function(){
            slave4(2, slave5);
        });
    });
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

TypeTag를 사용하여 재귀 적으로 함수 호출

분류에서Dev

사용자 입력을 위해 함수를 재귀 적으로 호출

분류에서Dev

파이썬 함수는 이름을 저장하는 사전을 사용하여 서로를 재귀 적으로 호출합니다.

분류에서Dev

7-Zip을 사용하여 재귀 적으로 추출

분류에서Dev

재귀 적으로 비동기 함수를 호출하는 함수 대기

분류에서Dev

함수 이름을 사용하지 않는 재귀 호출

분류에서Dev

bash 함수가 지역 변수를 사용하지 않고 자신을 재귀 적으로 호출 할 수있는 이유는 무엇입니까?

분류에서Dev

Promise를 반환하는 비동기 함수를 재귀 적으로 호출

분류에서Dev

여러 재귀 호출을 사용하여 일반 재귀를 꼬리 재귀로 변환

분류에서Dev

JQuery .each () 반복을 재귀 적으로 호출하는 방법

분류에서Dev

자바 : 재귀 호출에서 원래 매개 변수를 사용하여 내 메서드를 재귀 적으로 호출하는 방법

분류에서Dev

템플릿을 사용하여 함수 메서드가 존재하는지 재귀 적으로 확인

분류에서Dev

다른 매개 변수를 사용하여 bash 스크립트를 재귀 적으로 호출

분류에서Dev

다른 매개 변수를 사용하여 bash 스크립트를 재귀 적으로 호출

분류에서Dev

간격을 무시하는 동안 setTimeout () 반복적으로 함수 호출

분류에서Dev

간격을 무시하는 동안 setTimeout () 반복적으로 함수 호출

분류에서Dev

함수를 재귀 적으로 호출 할 때 함수가 새 값이 아닌 이전 값을 반환하는 이유는 무엇입니까?

분류에서Dev

전 처리기 ##을 사용하여 동적으로 함수 호출

분류에서Dev

앵커 태그를 동적으로 생성하는 동안 재귀 함수가 jquery에서 호출을받지 못함

분류에서Dev

재귀 적으로 유형 클래스 제약 조건을 생성하고 재귀 함수에서 사용

분류에서Dev

목록에서 재귀 적으로 함수 호출

분류에서Dev

재귀 적으로 비동기 함수 호출

분류에서Dev

AngularJS에서 재귀 적으로 함수 호출

분류에서Dev

재귀 적 AWS Lambda 함수 호출-모범 사례

분류에서Dev

sudo를 사용할 때 docker 함수가 재귀 적으로 호출되지 않습니까?

분류에서Dev

재귀 함수 호출에서 현재 함수 값을 반환하는 방법

분류에서Dev

Automapper 함수 호출로 모델을보기 위해 엔티티를 재귀 적으로 매핑하는 방법은 무엇입니까?

분류에서Dev

로드시 함수를 한 번 호출 한 다음 setTimeout을 사용하여 간격마다 호출

분류에서Dev

Prolog에서 증분기를 사용하여 각 재귀 호출을 추적

Related 관련 기사

  1. 1

    TypeTag를 사용하여 재귀 적으로 함수 호출

  2. 2

    사용자 입력을 위해 함수를 재귀 적으로 호출

  3. 3

    파이썬 함수는 이름을 저장하는 사전을 사용하여 서로를 재귀 적으로 호출합니다.

  4. 4

    7-Zip을 사용하여 재귀 적으로 추출

  5. 5

    재귀 적으로 비동기 함수를 호출하는 함수 대기

  6. 6

    함수 이름을 사용하지 않는 재귀 호출

  7. 7

    bash 함수가 지역 변수를 사용하지 않고 자신을 재귀 적으로 호출 할 수있는 이유는 무엇입니까?

  8. 8

    Promise를 반환하는 비동기 함수를 재귀 적으로 호출

  9. 9

    여러 재귀 호출을 사용하여 일반 재귀를 꼬리 재귀로 변환

  10. 10

    JQuery .each () 반복을 재귀 적으로 호출하는 방법

  11. 11

    자바 : 재귀 호출에서 원래 매개 변수를 사용하여 내 메서드를 재귀 적으로 호출하는 방법

  12. 12

    템플릿을 사용하여 함수 메서드가 존재하는지 재귀 적으로 확인

  13. 13

    다른 매개 변수를 사용하여 bash 스크립트를 재귀 적으로 호출

  14. 14

    다른 매개 변수를 사용하여 bash 스크립트를 재귀 적으로 호출

  15. 15

    간격을 무시하는 동안 setTimeout () 반복적으로 함수 호출

  16. 16

    간격을 무시하는 동안 setTimeout () 반복적으로 함수 호출

  17. 17

    함수를 재귀 적으로 호출 할 때 함수가 새 값이 아닌 이전 값을 반환하는 이유는 무엇입니까?

  18. 18

    전 처리기 ##을 사용하여 동적으로 함수 호출

  19. 19

    앵커 태그를 동적으로 생성하는 동안 재귀 함수가 jquery에서 호출을받지 못함

  20. 20

    재귀 적으로 유형 클래스 제약 조건을 생성하고 재귀 함수에서 사용

  21. 21

    목록에서 재귀 적으로 함수 호출

  22. 22

    재귀 적으로 비동기 함수 호출

  23. 23

    AngularJS에서 재귀 적으로 함수 호출

  24. 24

    재귀 적 AWS Lambda 함수 호출-모범 사례

  25. 25

    sudo를 사용할 때 docker 함수가 재귀 적으로 호출되지 않습니까?

  26. 26

    재귀 함수 호출에서 현재 함수 값을 반환하는 방법

  27. 27

    Automapper 함수 호출로 모델을보기 위해 엔티티를 재귀 적으로 매핑하는 방법은 무엇입니까?

  28. 28

    로드시 함수를 한 번 호출 한 다음 setTimeout을 사용하여 간격마다 호출

  29. 29

    Prolog에서 증분기를 사용하여 각 재귀 호출을 추적

뜨겁다태그

보관