익명의 개발노트

promise chain 본문

코딩일기/TIL

promise chain

캡틴.JS 2019. 9. 19. 23:33
반응형

보통 하나나 두 개 이상의 비동기 작업을 순차적으로 실행해야 하는 상황을 흔히 보게 되고,

순차적으로 각각의 작업이 이전 단계 비동기 작업이 성공하고 나서 그 결과값을 이용하여 다음 비동기 작업을 실행해야 하는 경우를 의미하

는데 이런경우 프로미스 체인을 사용한다.

작성 순서대로 앞에 작업이 끝나면 실행 된다.

내가 업무에서 사용한 내용을 예로 들면, 

하나의 작업이 끝난 다음에 실행될 수 있도록.

static example(){
	return new Promise(function(resolve,reject){
    	backendAPI.getWallet(function(res){
        	(..생략)
        	this.test();
            resolve();
        },function(err){
           (..생략)
        })
    })
}


static test(){
	return new Promise(function(resolve,reject){
    	backendAPI.getUserInfo(function(res){
        	(..생략)
            resolve();
        },function(err){
        	(..생략)
        })
    })
}

 위와 같이  작성할 수 도있고, 방법은 여러가지이다.

static example(){
	return new Promise(function(resolve,reject){
    	backendAPI.getWallet(function(res){
        	(..생략)
        	backendAPI.test(function(res){
            	resolve();
            })
        },function(err){
           (..생략)
        })
    })
}

이런식으로 resolve를 통해 자기를 호출한 곳으로 결과값을 보낼 수도 있다.

받는쪽에서는 아래와 같이 연속으로 사용할 수 도 있다

Service.example().then(response => {
		(...생략)
	Service.test(response).then(result=>{
    	(...생략)
    })
})
반응형
Comments