- 비동기 작업(시간이 걸리는)을 처리하기 위해 사용
- 비동기 작업을 쉽고 효율적으로 사용할 수 있다.
- 무조건 비동기 작업 시 프라미스를 사용하는 것은 아님
- 콜백 함수보다 프라미스를 더 많이 사용하는 이유 ?
(콜백함수를 많이 사용하면 즉, 비동기작업을 여러 개할 시에 콜백 함수를 사용하면 가독성이 안 좋아지므로 프라미스를 사용한다 )
네트워크 요청을 보내주는 함수이다.
프로미스 객체(fetch에서 전달)를 첫번째로 받은 응답은 헤더 영역까지만 받는다.
responset.text();로 두 번째로 받는 응답은 바디까지 받는다.
texts는 바디의 내용이 들어있다.
fetch('/article/promise-chaining/user.json')
//원격 서버가 응답하면 then 핸들러가 실행됨
.then(function(response){
//response.text()는 응답 텍스트 전체가 다운로드되면 결과
//값(응답텍스트)를 resolve함수로 전달하는 이행 프라미스
//객체를 생성 후 반환
return response.text();
})
.then(function(text){
//원격에서 받아온 파일의 내용
alert(text); //{"name":"iliakean","isAdmin":true}
});