동시성 프로그래밍 (비동기)

soob·2020년 8월 2일
0

함수형프로그래밍

목록 보기
6/8

callback, promise

promise는 비동기를 값으로 만드는데 의미가 있다. (1급으로 다룬다.)
ex)

function f(a){
	return new Promise(resolve => setTimeout(()=>resolve(a), 100));
}

return을 한다는것이 중요
대기, 성공, 실패를 값으로 다룬다. (콜백 방식처럼 그냥 코드로서 다루고 있는것이 아니다.)

promise 객체가 반환되면 원하는 시점에 이를 이용해 작업을 할 수 있다.
1급 객체이기 때문에, 다른 함수의 parameter, 변수, 등 으로 다룰 수 있다.

예시

const delay = a =>new Promise(resolve => setTimeout(()=>resolve(a), 100));

const go = (a, f) => a instanceOf Promise ? a.then(f) : f(a);

const add5 = (a) => a+5;

const d = delay(10);
go(go(d, add5), console.log);
profile
쓸데없는 소리를 좋아하는 개발자

0개의 댓글