비동기통신, Promise API

skj1211·2022년 4월 25일
0

자바스크립트 제어 흐름

비동기
자바스크립트 엔진은 비동기 처리를 제공하지 않지만 정해진 함수를 통해 활용가능
이 함수들을 API라고한다.
API : Application Programming interface
한 프로그램에서 다른 프로그램으로 데이터를 주고받기 위한 방법

자바스크립트는 다른 멀티스레드 프로그래밍 언어와 다르게 비동기 동작으로 처리한다.
여러 코드를 동시에 처리 가능하다.

비동기 코드를 처리하는 모듈은 자바스크립트 엔진 외부에 있다.

Promise

비동기 작업을 표현하는 자바스크립트 객체
비동기 작업의 진행, 성공, 실패 상태를 표현
비동기 처리의 순서를 표현

성공 fulfilled,resolved
.then() 매서드 실행
실패 rejected
.catch() 매서드 실행

Promise 생성자
new Promise(callback) 으로 생성
callback함수는 (resolve, reject) 두 인자를 받는다.
promise가 성공시 resolve, 실패시 reject를 호출

let promise = new Promise((resolve, reject) => {
	if(Math.random() < 0.5) {
    	return reject("실패")
    }
    resolve(10)
})

랜덤값이 0.5보다 작으면 콜백 함수의 reject를 호출
랜덤값이 0.5보다 크면 resolve를 호출

promise
	.then(data =>{console.log("성공:", data)})	//성공시 동작
    .catch(e=>{console.log("실패:", e)})		//실패시 동작

0개의 댓글