getUserInfo(userId, (user) => {
getPosts(user.id, (posts) => {
displayPosts(posts);
}, (error) => {
handleError(error);
});
}, (error) => {
handleError(error);
});
getUserInfo(userId)
.then((user) => {
return getPosts(user.id);
})
.then((error) => {
displayPosts(posts);
})
.catch((error) => {
handleError(error);
});
프로미스(Promise)
- 비동기(특정작업이 완료될 때까지 기다리지 않고 다른 작업을 수행할수 있음) 작업을 다루는 객체
프로미스의 상태
- 대기: 비동기 작업이 아직 수행되지 않은 상태
- 이행: 비동기 작업이 성공적으로 완료된 상태. resolve() 호출
- 거부: 비동기 작업이 실패한 상태. reject() 호출
// 생성
const myPromise = new Promise((resolve, reject) => {
// 비동기 작업 수행
// 작업이 성공하면 resolve() 호출
// 작업이 실패하면 reject() 호출
});
// 호출
myPromise
.then((result) => {
// 성공했을 때의 처리
});
.catch((error) => {
// 실패했을 때의 처리
});
async / await
- 자바스크립트에서 비동기 코드를 더 쉽게 작성하고 관리할 수 있는 기능
- 비동기 작업이 순차적으로 실행되는 것처럼 코드를 작성할 수 있음
- async 함수는 항상 Promise를 반환하며, await 키워드는 async 함수 내에서만 사용
fetch()
- 네트워크를 통해 리소스를 가져오기 위해 사용되는 자바스크립트 API
- 주로 웹 애플리케이션에서 서버와 데이터를 주고 받을 때 사용
- Promise를 반환
fetch(접속할 주소)
.then(respones => {
// 응답 데이터를 처리
return response.json(); // json 형식의 데이터를 반환
})
.then(data => {
// 처리된 데이터를 사용
})
.catch(error => {
// 애러 처리
});
'코딩 > Web' 카테고리의 다른 글
React (1) | 2024.06.07 |
---|---|
node.js 버퍼 스트림 파이프 Express프레임워크 (1) | 2024.04.26 |
node.js (1) | 2024.04.26 |
자바스크립트 정규 표현식, 이벤트 (0) | 2024.04.18 |
자바스크립트 객체 (0) | 2024.04.17 |