• 作者:老汪软件技巧
  • 发表时间:2024-11-05 11:01
  • 浏览量:

前面我们谈到过 Promise 规范 & PromiseA+ 规范,今天我们来详细仔细谈谈promise,一起探讨关于promise常用的一些知识。

前置内容了解先了解什么是静态方法和实例方法

promise 区分静态方法和实例方法。静态方法:通过 Promise 类直接调用,例如 Promise.all、Promise.resolve 等,主要用于创建和组合 Promise。 实例方法:在 Promise 实例上调用,如 then、catch 和 finally,用于处理 Promise 的结果和状态

静态方法

静态方法是与类本身相关的方法,而不是与类的实例相关。也就是说,你可以直接通过类名来调用静态方法,而不需要先创建类的实例。

定义与使用

class MyClass {
    static staticMethod() {
        console.log("这是一个静态方法");
    }
}
// 调用静态方法
MyClass.staticMethod(); // 输出: 这是一个静态方法

特点实例方法

实例方法是与类的实例相关联的方法。你必须先创建类的实例,然后才能调用实例方法。

定义与使用

class MyClass {
    constructor(name) {
        this.name = name;
    }
    instanceMethod() {
        console.log(`这是一个实例方法,名称是: ${this.name}`);
    }
}
// 创建实例
const myInstance = new MyClass("实例");
// 调用实例方法
myInstance.instanceMethod(); // 输出: 这是一个实例方法,名称是: 实例

特点总结promise 定义/描述

一个 Promise 是一个代理,它代表一个在创建 promise 时不一定已知的值。它允许你将处理程序与异步操作的最终成功值或失败原因关联起来。这使得异步方法可以像同步方法一样返回值:异步方法不会立即返回最终值,而是返回一个 promise,以便在将来的某个时间点提供该值()

Promise三种状态

image.png

基本使用

promise
  .then(result => console.log(result))
  .catch(error => console.error(error));

链式调用并发处理Promise.allSettled()Promise.any()Promise.race()的改进使用finally方法Promise.withResolvers

Promise.withResolvers 通常表示一个可以创建有解析和拒绝能力的 Promise 的方法,这并不是 JavaScript 原生 Promise 的一部分,而是一个用于实现特定功能的自定义方案。

使用场景

错误处理注意事项实现原理


上一条查看详情 +机器学习|从0开发大模型之Tokenizer训练
下一条 查看详情 +没有了