스크립트
프로미스는 비동기 작업이 처리할 미래의 완료나 실패에 대한 값을 처리하는 객체이다. 프로미스를 이용하면 마치 동기 로직을 작성하는 것처럼 반환 받아 사용할 수 있다.
promise는 3가지 상태를 가진다.
promise는 JS에서 비동기 처리를 하기 위한 객체이다. 3가지 상태를 가지고 있으며 미래의 성공 혹은 실패에 대한 값을 가지고 있다. 3가지 상태는 다음과 같다.
비동기 함수 func1
, func2
, func3
를 순차적으로 실행하기 위해 아래와 같이 작성할 수 있다.
Promise.resolve(3).then(func1).then(func2).then(func3).then(console.log);
then()
메소드는 promise를 반환한다. 이를 이용하여 체이닝을 하여 표현할 수 있게 된다.
const applyAsync = (p, f) => p.then(f);
const composeAsync = (...af) => af.reduce(applyAsync, Promise.resolve(3));
const f = composeAsync(func1, func2, func3);