Promise에 대한 자세한 내용은 MDN에서 참조하십시오.

2475 단어 프런트 엔드
Promise.race(iterable) 방법은 하나의 프로미스를 되돌려줍니다. 교체기 중의 어떤 프로미스가 해결되거나 거부되면 되돌아오는 프로미스가 해결되거나 거부됩니다.
var promise1 = new Promise(function(resolve, reject) {
    setTimeout(resolve, 500, 'one');
});

var promise2 = new Promise(function(resolve, reject) {
    setTimeout(resolve, 100, 'two');
});

Promise.race([promise1, promise2]).then(function(value) {
  console.log(value);
  //  resolve,   promise2     two   promise  , 
});
// expected output: "two"

예:
let p = new Promise((resolve,reject) => {
    //...
    resolve('success');
    console.log('after resolve');
    reject('error');
});

p.then(result => {
    console.log(result);
});

p.catch(result => {
    console.log(result);
})

최종 출력은 다음과 같습니다.
after resolve success
promise에서 race 함수는 첫 번째 전달된promise와 같은 완성 방식을 되돌려줍니다.이것은 완성(resolves)일 수도 있고, 실패(rejects)일 수도 있습니다. 이것은 첫 번째 완성 방식이 두 가지 중 어느 것인지에 달려 있습니다.
만약 전해지는 교체가 비어 있다면, 되돌아오는 프로미스는 영원히 기다릴 것이다.
반복에 비약속값 및/또는 해결/거부된 약속이 하나 이상 포함된 경우 Promise 는 반복에서 찾은 첫 번째 값으로 해석됩니다.
Promise를 사용합니다.race – setTimeout의 예
var p1 = new Promise(function(resolve, reject) { 
    setTimeout(resolve, 500, "one"); 
});
var p2 = new Promise(function(resolve, reject) { 
    setTimeout(resolve, 100, "two"); 
});

Promise.race([p1, p2]).then(function(value) {
  console.log(value); // "two"
  //  ,  p2  
});

var p3 = new Promise(function(resolve, reject) { 
    setTimeout(resolve, 100, "three");
});
var p4 = new Promise(function(resolve, reject) { 
    setTimeout(reject, 500, "four"); 
});

Promise.race([p3, p4]).then(function(value) {
  console.log(value); // "three"
  // p3  ,               
}, function(reason) {
  //  
});

var p5 = new Promise(function(resolve, reject) { 
    setTimeout(resolve, 500, "five"); 
});
var p6 = new Promise(function(resolve, reject) { 
    setTimeout(reject, 100, "six");
});

Promise.race([p5, p6]).then(function(value) {
  //               
}, function(reason) {
  console.log(reason); // "six"
  // p6  , 
});

 Promise.race – Promise 사용.race


setTimeout의 예제 asd - P를 사용하여 Promise를 사용합니다.race – setTimeout의 예시 romise.race


 
 
 
 

좋은 웹페이지 즐겨찾기