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) 명령어
[공지] 기술 게시판
4.28
4.29
4.30
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
5.26
5.27
5.28
5.29
5.30
5.31
6.1