반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- scss
- webpack
- event
- HOC
- Vue.js
- v-html
- State
- 쉬운설명
- 자바스크립트
- TypeScript
- storybook
- jsx
- 자료구조
- mapGetters
- Vue
- sass
- ES6
- Vue transition
- input
- vuex
- 댓글달기
- react
- nodejs
- express
- 리액트
- MySQL
- CSS
- Wecode
- JavaScript
- App.vue
Archives
- Today
- Total
익명의 개발노트
promise chain 본문
반응형
보통 하나나 두 개 이상의 비동기 작업을 순차적으로 실행해야 하는 상황을 흔히 보게 되고,
순차적으로 각각의 작업이 이전 단계 비동기 작업이 성공하고 나서 그 결과값을 이용하여 다음 비동기 작업을 실행해야 하는 경우를 의미하
는데 이런경우 프로미스 체인을 사용한다.
작성 순서대로 앞에 작업이 끝나면 실행 된다.
내가 업무에서 사용한 내용을 예로 들면,
하나의 작업이 끝난 다음에 실행될 수 있도록.
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=>{
(...생략)
})
})
반응형
'코딩일기 > TIL' 카테고리의 다른 글
[react] css 작성방법 결정 (0) | 2019.09.30 |
---|---|
[vue] image import error처리, 멀티 버튼 이벤트 처리 (0) | 2019.09.25 |
[vue] promise패턴, v-modal 클릭 이벤트 방지 (0) | 2019.09.16 |
개행문자 브라우저에서 줄바꿈으로 보여주기, 리스트에서 클릭한 값을 제외하고 화면에 보여주기 (0) | 2019.09.15 |
[vue]checkBox 중복체크 방지, input창 글자수 제한 (0) | 2019.09.10 |
Comments