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를 활용하셔야 합니다
!-->
답변을 작성하시기 전에 로그인 해주세요.