반응형
Promise 란?
asyncfunction이라는 비동기 함수가 있다고 가정하자. 이 함수는 param1,param2를 인자로 받아서 비동기로 처리하는 함수이다. promise 패턴에서는 이 asyncfunction을 호출하면, promise라는 것을 리턴한다. promise란 미래 결과에 대한 약속이다. 그리고 promise의 결과가 성공인지 실패인지에 따라서 이를 핸들링하기 위한 로직을 정의해놓는다. asyncfunction이 처리를 끝내고 결과를 리턴하면 promise에 의해 정의된 로직에 따라 결과값을 처리한다.
약간 말이 복잡한데, 이를 풀어서 설명해보면 다음과 같다.
- 프로그램 : asyncfunction에게 “param1과param2로 처리해줘” 라고 부탁한다.
- asyncfunction : “알았어 처리해줄께, 대신 시간이 걸리니 바로 답은 줄 수 없고, 나중에 답을 줄게. 이게 그 약속(promise)야” 라고 하고, 약속(promise) 객체를 리턴한다.
- 프로그램 : ‘언제 끝날지 모르는 작업이구나’ 그러면 이렇게 해줘. 작업이 성공하면 “결과 처리 로직”을 실행하게 하고, 만약에 실패하면 “에러 처리 로직”을 처리하게 하자. 이 내용을 니가 준 약속(promise)에 추가로 적어 넣을께
- asyncfunction : 실행이 성공적으로 종료되었어. 아 아까 준 약속에 성공시에 처리하는 로직이 정의되어 있군. “결과처리로직”를 실행하자
사용방법은 조대협님의 블로그를 참조부탁드립니다.
반응형
'컴퓨터 지식 > 블록체인' 카테고리의 다른 글
Hyperledger Caliper 설치하기 (1) | 2019.10.28 |
---|---|
도커 설치 (0) | 2019.10.09 |
Linux에 Apache 설치하기 (0) | 2019.06.13 |
우분투(Ubuntu)에 tomcat(was) 설치하기 (0) | 2019.06.12 |
Apache Kafka - 메세징, 실시간 로그처리 시스템 (0) | 2019.06.11 |