헝D의 일기장

문제: ajax 통신 시 로딩바 구현을 했음에도 적용이 안되는 경우

해결: async 옵션을 true 로 지정해주기

 

ajax는 기본적으로 async 옵션을 주지 않으면 true(비동기) 이다. 

async를 false(동기)로 지정하면 ajax 실행이 다 끝날때까지 js 동작이 안되기 때문에 로딩바를 구현해도 적용이 되지 않는다.

 

궁금증:

async 옵션을 따로 지정하지 않으면 기본값인  true 로 적용되었을텐데 , async를 false로 지정했을때와 아무것도 지정하지 않았을 때 둘다 로딩바 적용이 안된다. 꼭 true라고 명시적으로 지정해야만 적용되는가?

 

-> async를 명시적으로 true 라고 지정하지 않을 시 환경에 따라 비동기 요청이 제대로 작동하지 않을 수 있다.

의도하는 바가 있다면 명시적으로 설정해주는 것이 좋음. 

ex) 브라우저가 내부적으로 AJAX 요청을 최적화하는 방식에 따라, 명시적으로 async: true를 설정하지 않으면 요청이 비동기로 처리되지 않는 경우가 있을 수 있다.

 

 

profile

헝D의 일기장

@헝D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!