JavaScript异步编程:(四)Promise类方法

2022-05-17  本文已影响0人  fanren

前言

创建一个新的Promise对象,除了使用new之外,还提供了四个类方法(静态方法)供我们使用;分别是resolve、reject、all、race

一、resolve

创建了一个立即resolve的对象

let promise = Promise.resolve(5);

等价于

let promise = new Promise((resolve) => {
  resolve(5)
})

二、reject

创建了一个立即reject的对象

let promise = Promise.reject(5);

等价于

let promise = new Promise((resolve, reject) => {
  reject(5);
});

三、all

把多个Promise对象合并为一个Promise对象;

taskOne() {
  return new Promise((resolve) => {
    setInterval(() => {
      resolve(4);
    }, 1000);
  });
},

taskTwo() {
  return new Promise((resolve) => {
    setInterval(() => {
      resolve(2);
    }, 2000);
  });
},
let promise = Promise.all([
  this.taskOne(),
  this.taskTwo()
]);
promise
  .then((value) => {
    console.log(value, "resolve");
  })
  .catch((error) => {
    console.log(error, "error");
  });

四、race

把多个Promise对象合并为一个Promise对象;

let promise = Promise.race([
  this.taskOne(),
  this.taskTwo()
]);
上一篇 下一篇

猜你喜欢

热点阅读