setTimeout 함수 작동 질문합니다. 채택완료
불필요한 코드는 생략했습니다.
Copy
if ($.trim(response) == "success"){
swal({
title: "성공",
text: "테스트 입니다..",
icon: "success",
button: "확인",
});
window.setTimeout(sucreload(),5000);
}else{
alert(response);
}
현재 sweetalert 팝업창을 띄운 후 확인눌러 창을 없앤다는 가정하에
몇초뒤에 새로고침 되게 할려고 합니다.
현재 문제는 팝업창이 뜨자마자 새로고침이 바로 되버립니다.
어떻게해야 setTimeout 함수가 적용이 될까요...
답변 1개
채택된 답변
+20 포인트
6년 전
Copy
if ($.trim(response) == "success"){
swal({
title: "성공",
text: "테스트 입니다..",
icon: "success",
button: "확인",
}).then((confirm) => {
if (confirm)
window.setTimeout(sucreload(),5000);
else
alert(response);
});
}
alert나 confirm 함수의 경우 실행시 브라우저가 일시 중지되어 해당 이벤트가 끝나기전까진 다른 함수를 실행하지 않지만
그 외의 함수의 경우 자바스크립트 특성상 실행 중에도 다른 함수를 실행하게 됩니다.
자바스크립트 내에서 순차대로 실행하시려면 promise를 활용하셔야 합니다
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인