-
[JavaScript] PromiseJavaScript 2022. 7. 27. 22:21반응형
Promise라는 걸 알게되었다.
종종 코딩할 때 , 한 동작이 마무리 된 후 그 결과값으로 분기처리를 해야하는 경우가 있는데,
이 때 Promise를 활용하면 좀 더 원할한 코딩이 가능하다.
Promise는 3가지 상태로 분류할 수 있는데, pending과 fulfilled, rejected로 나누어진다.
pending은 최초의 동작이 끝나기까지의 대기상태.
fulfilled는 첫 동작이 성공적으로 마무리된 상태. rejected는 첫 동작이 실패한 상태라고 이해하면 될 것 같다.
간단한 예시를 들어보면
const gen2Num = (param) => { return new Promise((resolve, reject) => { if(param){ reject("불필요한 파라미터가 입력되었습니다."); } const num1 = Math.round(Math.random() + 1) * 5; const num2 = Math.round(Math.random() + 1) * 5; const sum = num1 + num2; const result = { value: "생성된 두 수의 합은 "+sum+" 입니다.", } resolve(result); //두 수의 합을 then()절의 data로 넘겨준다. }); } gen2Num().then(data => console.log(data.value)); //생성된 두 수의 합은 xx 입니다. gen2Num("hahaha").then(data => console.log(data)).catch(data => console.error(data)); //불필요한 파라미터가 입력되었습니다.
이와 같이 사용할 수 있다..
임의로 선언한 gen2Num의 경우 파라미터가 필요없게 작성을 하였는데,
만약 gen2Num을 호출할 때 파라미터를 입력할 경우 실패처리를 하여, "불필요한 파라미터가 입력되었습니다"가 출력되도록 하였다.
반응형'JavaScript' 카테고리의 다른 글
[JavaScript] 사용중인 플랫폼 판별하기 (Window, Mac, Linux, Android 등등) (0) 2022.08.03 [JavaScript] 임의값으로 innerHTML 값 찾기 및 응용 (0) 2022.07.29 [Javascript] sort , filter 간단예제 (0) 2022.07.20 [JavaScript] 오브젝트 배열 (Array of objects) 에서 원하는 값 가져오기 (0) 2022.05.24 javascript DOM style 조작하기 (0) 2022.04.21