문제: ajax 통신 시 로딩바 구현을 했음에도 적용이 안되는 경우
해결: async 옵션을 true 로 지정해주기
ajax는 기본적으로 async 옵션을 주지 않으면 true(비동기) 이다.
async를 false(동기)로 지정하면 ajax 실행이 다 끝날때까지 js 동작이 안되기 때문에 로딩바를 구현해도 적용이 되지 않는다.
궁금증:
async 옵션을 따로 지정하지 않으면 기본값인 true 로 적용되었을텐데 , async를 false로 지정했을때와 아무것도 지정하지 않았을 때 둘다 로딩바 적용이 안된다. 꼭 true라고 명시적으로 지정해야만 적용되는가?
-> async를 명시적으로 true 라고 지정하지 않을 시 환경에 따라 비동기 요청이 제대로 작동하지 않을 수 있다.
의도하는 바가 있다면 명시적으로 설정해주는 것이 좋음.
ex) 브라우저가 내부적으로 AJAX 요청을 최적화하는 방식에 따라, 명시적으로 async: true를 설정하지 않으면 요청이 비동기로 처리되지 않는 경우가 있을 수 있다.
'개발공부' 카테고리의 다른 글
[백견불여일타] 프로젝트 생성 (0) | 2023.11.12 |
---|---|
멀티스레드 환경에서의 싱글톤 패턴 (0) | 2023.08.16 |
[트러블슈팅] 오라클 oracle 오류: 수치가 부적합합니다 (0) | 2023.07.29 |
컨테이너 인프라 환경의 개념 (0) | 2023.05.21 |
자바 유용한 람다식&스트림 (0) | 2023.04.02 |