HTML, CSS, JavaScript/AJAX

[ajax] promise와 resolve(.then)

망고고래 2024. 11. 7. 10:13

ajax 통신을 하는 경우

- 서버에 데이터를 요청하면 promise가 생성되고

- 데이터가 도착하면 promise가 resolve 된다.

여기서 .then을 사용하지 않으면 데이터가 도착하기 전에(promise가 resolve 되기 전에) 코드를 실행하게 되고, 그러면 코드가 의도한 대로 동작하지 않는다.

따라서 ajax 통신을 담당하고 받아온 값을 리턴하는 fetchData() 함수가 있다고 가정했을 때, fetchData()는 다음과 같이 사용해야 한다.

fetchData()
    .then(data =>{
        doSomething(data);
    });

혹은

fetchData()
    .then(function(data) {
        doSomeThing(data);
    })
    .catch(function(error) {
        console.error(error);
    });

 

 

 

+ promise의 세 가지 상태

- pending: 처리 중

- resolved: 처리됨

- rejected: 처리 실패

'HTML, CSS, JavaScript > AJAX' 카테고리의 다른 글

[ajax] response 다루기(text, json) + JSON.parse()  (0) 2024.11.07