setTimeout 함수 작동 질문합니다.

setTimeout 함수 작동 질문합니다.

QA

setTimeout 함수 작동 질문합니다.

답변 1

본문

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


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를 활용하셔야 합니다

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 124,008
© SIRSOFT
현재 페이지 제일 처음으로