ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 노드 Promise 패턴
    @19.1 ~ /Nodejs 2020. 6. 11. 00:04

    1 순차패턴, 순차적으로 반복하는 패턴

    let tasks = [ ... ]
    let promise = Promise.resolve();
    tasks.forEach(task => {
    	promise = promise.then(()=>{
        	return task();
        });
    });
    
    promise.then(()=>{
    	//모든 작업들이 완료
    });
    
    
    
    //foreach 대신에 reduce()함수 사용
    let tasks = [ ... ]
    let promise = tasks.reduce((prev, task) => {
    	return prev.then(()=>{
        	return task();
        });
    }, Promise.resolve());
    promise.then(()=>{
    	//모든 작업들이 완료
    });

    이 패턴을 간단히 적용하면 모든 작업 결과를 배열로 수집할 수 있어 맵핑 알고리즘을 구현하거나 필터를 만드는 등의 작업을 할 수 있다

     

     

    2. 병렬 실행

    내장된 Promise.all()을 사용하는 것이 전부입니다

    이 함수는 입력에서 받은 모든 프라미스들이 이행될 떄만 이행되는 또 다른 프라미스를 만듭니다

    이것은 다양한 프라미스들이 결정되는 사이에 다른 명령이 실행되지 않기 때문에 본질적으로 병렬실행입니다

     

     

    '@19.1 ~ > Nodejs' 카테고리의 다른 글

    프록시 패턴  (0) 2020.06.19
    모듈 정의패턴  (0) 2020.06.03
    콜백 규칙 및 예외처리  (0) 2020.05.31
    Map, WeakMap  (0) 2020.05.31
Designed by Tistory.