js 의 대부분의 비동기 작업은 promise가 반환됨
이러한 형태의 결과값엔 then과 catch를 이용하여 결과값을 처리할수있음
fetch("https://jsonplaceholder.typicode.com/posts")
.then(function(response){
return response.json();
}).then(function(myJson){
console.log(myJson)
});
보면 해당 주소에서 통신이 성공적으로 완료되면 fetch는 response객체를 promise로 반환함
그럼 response객체를 첫번째 then이 json형태로 가공해 리턴하게 되지만
then 또한 결과를 promise로 반환하기때문에 json을 promise로 다시 반환하게됨
그러면 두번째 then이 그 json값을 console에 찍어주면서 콘솔창에 json이 출력되게 됨
여기서 then이 catch로 변경되면 위쪽 작업이 실패됬을경우 catch에 들어있는 함수가 실행되게됨
then은 위와같이 비동기 작업이 진행됬을경우 해당 결과값을 받아 순차적인 처리가 필요할경우 사용하는데 굉장히 용이함
async function test() {
return 123;
}
test().then(v => console.log(v));
js 대부분의 비동기 작업에서 결과를 promise로 반환하기 때문에
자주 사용되는 js의 async의 결과값에도 적용할수 있음
