Front-End/Javascript
[javascript] setTimeout 순서!!!! (반대로 하자!)
uni2237
2021. 1. 29. 16:35
728x90
728x90
blog.naver.com/tmondev/220937034820
자바스크립트의 비동기 처리과정
들어가며안녕하세요. 티몬에서 이제 1년차가 된 신입 개발자입니다! 그 동안 업무를 하면서 배운 것들이 많...
blog.naver.com
문제 상황)
loading이미지를 띄우고 페이지를 이동시키고 싶었는데
아무리 setTimeout을 설정해도 내가 생각했던 것과 같이 동작이 되지 않음..
구글링을 계속 해보다 위 블로그를 발견하고 드디어 해결했다 !!! ㅜㅠㅠ
운영체제 시간에 배웠던 개념이였다... 댑악,,,
수정 전)
// 1번
setTimeout(function() {
$("#loading").hide();
},5000);
// 2번
setTimeout(function() {
location.href = 'go_myproject_list_on';
},1000); //밀리세컨드 단위 : 1000이 1초 입니다.
나는 위와 같이 코드를 짜면 1번이 5초 후에 실행되고, 그뒤로 1초후에 2번이 실행된다고 생각했었다.
하지만!!!! 1번의 실행을 5초 뒤로 미뤄두었고, 그 사이 2번이 있으므로 2번때문에 1번이 실행이 안되는 것이었다!!
결과적으로 2번이 먼저 실행되고 그뒤로 1번이 실행되고 있었음 ㅜ
해결)
// 1번
setTimeout(function() {
location.href = 'go_myproject_list_on';
},1000); //밀리세컨드 단위 : 1000이 1초 입니다.
// 2번
setTimeout(function() {
$("#loading").hide();
},5000);
위와 같이 짜야 1번을 1초 뒤로 미룬 사이 2번이 실행되므로,
2번이 5초 뒤 실행되고 그뒤로 1초 후 1번이 실행되도록 할수 있음!!!
아주아주 꿀팁이었다. ^_^
728x90
728x90