dev/ajax
[Ajax] async 비동기식 처리와 동기식 처리
dev_Step
2022. 1. 4. 22:49
test 라는 글자를 누르면 (1)
ajaxtest(); 가 실행되고 (2)
해당 return 값이 data2 에 값이 저장된다 (3)
return value 가 num : 12345, name : 홍길동, id : goguma 일까?
아니다..
Ajax는 비동기화 방식이므로 해당 코드가진행하면서 기다려주지 않는다. 즉
위에서 말한(1) 실행되고 (2)이 실행이 다된다음에 (3) 번이 되는게 아닌 (2) ->
바로 (3) 으로 진행되므로 Ajax의 실행결과를 return 받지 못한다.
그렇다면 해당 결과 결과값 success : function(result) 값을 가져오기 위해서는
어떻게 해야할까 .. 그것이 바로 Ajax의 동기화 방식인 async 이다.
Ajax에서 옵션으로 async : false 를 설정해주면 (default 는 true이다 [설정을 안해줄경우])
해당 Ajax 의 return 값을 받아서 콘솔에 찍어줄수 있다. 서버로 요청 후에 데이터 처리하여
제공해주는것을 기다려준 후 console.log를 찍어준다.
Ajax를 사용할때 항상 비동기식으로 사용하는게 아닌 동기화방식으로 사용할 수 있다는것을 생각하여 사용하자