axios post 사용해서, 데이터 받는 부분이 있는데,
다운로드 클릭후, 로딩Modal 띄우고, axios post로 데이터 받고, 닫는 프로세스인데,
이상하게...자꾸 로딩창이 안 없어지길래..... 계속 하는데...
이게, jQuery 모달 라이브러리로 모달 show 하는 시간보다, 데이터 받는 속도가 빨라서,
모달 뜨기전에, 벌써 다운로드까지 끝나버리는거다...
그래서 중간에, sleep 도 넣었는데, 안되고...
async await 도 썼는데.... 안되더라....ㅠㅠ
ajax에 있는 beforeSend 같은 axois용 인터럽트까지 썼는데..안됨.ㅠ
모달뜨는 시간까지 로그 찍어보니...
200ms 이상되는 데이터는 떴다가 사라지는데,
그 이하는 벌써 창 닫는거
$('#process-modal').modal("hide");
까지 끝났는데....
이후에 show 가 먹히는거다.
sleep을 계속 넣어도 이게 따로 노니까... 안되고...
결국 다운로드 부분을 function으로 만들고,
setTimeout 안에 넣어서, 200ms후에 다운로드 실행되게 돌렸다.
setTimeout(async function(){
await excelDownload(month);
}, 200);
아....진짜...자바스크립트...비동기/동기.....ㅠㅠ
엥귤러 할때도 비슷한게 있었는데....ㅠ
'컴퓨터 > JavaScript (jQuery)' 카테고리의 다른 글
툴팁 사용하기 (0) | 2021.08.23 |
---|---|
var, let, const 차이 설명 (0) | 2021.08.23 |
var, let, const 차이 설명 (0) | 2021.08.18 |
자바스크립트(jQuery) 엔터(Enter)키 이벤트 (0) | 2021.08.13 |
ajax 전송시, this 값 가져오기 (0) | 2021.06.14 |