js Promise 프로미스

1
js Promise 프라미스

-----=-------
기본 소스
var pr1 = new Promise(
function(resolve, reject){ //성공시, 실패시 동작할 함수를 받는다.
//...
소스 동작
...//
if(result == success){
resolve(result);
}else{
reject(result);
}
}
)

pr1.then(
//resolve 함수 등록
function(val){ 
alert('처리완료! '+val)
}
).catch(
//reject 함수 등록
function(val){ 
alert('처리에러! '+val)
}
);
// 여기서 호출된다.
// pr1.then 이나 pr1.catch 를 설정 "후"에 프로미스가 실행된다.(메소드 체이닝으로 설정할 때 실행되는 것이 아님.)



Promise.race

여러 프로미스 객체를 동시 실행해서 빠른 것의 결과만 사용한다.

//-- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise/race 의 예제

p2 가 p1 보다 빨리 끝난다.

Promise.race([p1, p2]).then(function(value) {
  console.log(value); // p2 의 값
  // 모두 결정하지만 p2가 더 빠름
});


Promise.all

여러 프로미스 객체를 동시에 실행해서 전부 성공했다면 받는 받을 배열로 가져온다.
그중 하나라도 실패한다면, 실패한 하나만 reject 처리한다.

//-- 코드 모양
//-- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise/all 예제 짜집기

Promise.all([p1, p2, p3]).then(function(values) { 
  console.log(values); // [3, 1337, "foo"] 
}, function(reason) {
  console.log(reason)
});

댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14
2.15
2.16
2.17
2.18
2.19
2.20
2.21
2.22
2.23
2.24
2.25
2.26
2.27
2.28