자바스크립트 for문장 내부의 시간 딜레이....문의 입니다

자바스크립트 for문장 내부의 시간 딜레이....문의 입니다

QA

자바스크립트 for문장 내부의 시간 딜레이....문의 입니다

본문


    for( var i=st_no ; i<=ed_no ; i++){
	      setTimeout(function(){
                    $('#save_data').trigger('click');
					var rowPosition=Grid.getRowPosition(myGridID);
                    if( (row_index-rowCount)>0){
						if( (row_index-rowPosition)>15){
                             Grid.setRowPosition(myGridID, row_index-rowCount); 
						}
                    }
	             Grid.setSelectionByIndex(myGridID, row_index+1, col_no);
	      }, 200);
	}

 

 원래는 데이터 저장을 위해 일일이 키를 눌러 (F2 저장)야만하는데..

 귀찮아서, 범위정해서 자동 저장 키 눌러주는 자스 한번 구현해 봤습니다~

 

 초보라 그런지.. 작동이 안되네요..ㅠ.

 원래,  for문 내부에서 time delay가 안되는건가요?

 아니면.. for 루프가 먼저 실행되 버리는 건가요?

 

** 참고로, click이 되면.. 서버로 전달되는 Ajax 저장루틴이 있습니다..

 

 조언 부탁드립니다~

 

이 질문에 댓글 쓰기 :

답변 2

 
    for( var i=st_no ; i<ed_no ; i++){
       (function(i){
          setTimeout(function(){
			     click_save('1');
          }, 1000 * i);
       }(i));
    }

 

자문자답..이네요!

위처럼 해결했습니다~ 잘 작동됩니다..


(function() {
    var i = 0;
    (function run() {
        console.log(sequence[i]);
        i = (i+1) % sequence.length;
        setTimeout(run, 2000); // <--- 딜레이 타임
    }());
}());

 

이 방법이 더, 안정적이네요..

답변을 작성하시기 전에 로그인 해주세요.
전체 123,641 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT