美文网首页
JavaScript异步编程:(四)Promise类方法

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

作者: fanren | 来源:发表于2022-05-17 09:07 被阅读0次

前言

创建一个新的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");
  });
  • 被合并的几个Promise对象是并行执行的;
  • 在几个Promise对象执行完毕后,才会走到then内部,并且返回所有对象结果值的数组
  • 一旦有其中某一个对象返回了异常,则直接返回异常,执行catch;

四、race

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

let promise = Promise.race([
  this.taskOne(),
  this.taskTwo()
]);
  • 被合并的几个Promise对象是并行执行的。
  • 只要有其中一个Promise对象执行完毕,就会走到then内部,并且返回改对象的结果值
  • 一旦有其中一个对象返回了异常,则直接执行catch;

相关文章

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

    前言 创建一个新的Promise对象,除了使用new之外,还提供了四个类方法(静态方法)供我们使用;分别是reso...

  • part1整理

    函数式编程:JavaScript函数式编程指南 异步编程:异步编程 Promise源码 JavaScript基础知...

  • 深入了解下Promise

    Promise 意义 Promise 的诞生与 Javascript 中异步编程息息相关,js 中异步编程主要指 ...

  • ES6 之 Promise

    Promise是JavaScript异步编程中的重要概念,异步抽象处理对象,是目前比较流行Javascript异步...

  • 【ECMAScript6】 Promise

    Promise 是什么 Promise 是 ES6 为 JavaScript 异步编程定义的全新 api 。为异步...

  • 大前端~JavaScript异步编程

    可以实现JavaScript异步编程的方法有: 回调函数 事件监听 发布/订阅 Promise对象 ... 任何函...

  • Java实现Promise.all()

    JavaScript的Promise.all() Promise是JavaScript异步编程的一种解决方案,在E...

  • 异步

    JavaScript异步编程解决方案笔记 JavaScript Promise迷你书 Node.js回调黑洞全...

  • Async/Await 函数用法

    JavaScript编程异步操作解决方案:回调函数 => Promise对象 => Generator函数 => ...

  • 04-Node 异步编程

    Node 异步编程同步方法和异步方法异步 API 的执行顺序异步编程回调地狱问题Promise 改造回调地狱代码a...

网友评论

      本文标题:JavaScript异步编程:(四)Promise类方法

      本文链接:https://www.haomeiwen.com/subject/tejwurtx.html