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를 사용할때 항상 비동기식으로 사용하는게 아닌 동기화방식으로 사용할 수 있다는것을 생각하여 사용하자