setTimeout 함수 작동 질문합니다.

setTimeout 함수 작동 질문합니다.

QA

setTimeout 함수 작동 질문합니다.

본문

 불필요한 코드는 생략했습니다.


if ($.trim(response) == "success"){
           swal({
            title: "성공",
            text: "테스트 입니다..",
            icon: "success",
            button: "확인",
        });
             window.setTimeout(sucreload(),5000);
           }else{
            alert(response);
          }
 

 

현재 sweetalert 팝업창을 띄운 후 확인눌러 창을 없앤다는 가정하에 

몇초뒤에 새로고침 되게 할려고 합니다.

현재 문제는 팝업창이 뜨자마자 새로고침이 바로 되버립니다.

어떻게해야 setTimeout 함수가 적용이 될까요...

이 질문에 댓글 쓰기 :

답변 1


if ($.trim(response) == "success"){
swal({
title: "성공",
text: "테스트 입니다..",
icon: "success",
button: "확인",
}).then((confirm) => {
if (confirm)
window.setTimeout(sucreload(),5000);
else
alert(response);
});
}

 

alert나 confirm 함수의 경우 실행시 브라우저가 일시 중지되어 해당 이벤트가 끝나기전까진 다른 함수를 실행하지 않지만

그 외의 함수의 경우 자바스크립트 특성상 실행 중에도 다른 함수를 실행하게 됩니다.

 

자바스크립트 내에서 순차대로 실행하시려면 promise를 활용하셔야 합니다

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

회원로그인

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