Promise新API

本文介绍了谷歌浏览器119版本开始支持的新API,利用Promise的withResolvers方法进行异步操作,展示了resolve和reject在处理成功和错误情况的用法。
摘要由CSDN通过智能技术生成

新API,非常新,谷歌浏览器119版本以上支持

 const {promise,resolve,reject} = Promise.withResolvers();
    resolve("成功");
    promise.then(res =>{
      console.log(res)
    }).catch(err =>{

    });
Promise API 是一种特殊的对象,用于异步编程和处理异步操作。它代表了一个未来某个时刻才会结束的事件(可能是成功的结果,也可能是失败的原因)。Promise 对象有三种状态:等待(pending)、已完成(fulfilled)和已拒绝(rejected)。一旦 Promise 的状态改变,它将被锁定,无法再改变。 Promise 通常用于处理那些不会立即返回结果的操作,比如网络请求。Promise API 提供了以下几个主要的方法来处理异步操作: 1. `then()`: 接收两个参数,第一个是 Promise 状态变为 fulfilled 时的回调函数,第二个是状态变为 rejected 时的回调函数。这个方法返回一个Promise,允许链式调用。 2. `catch()`: 接收一个错误处理的回调函数,仅当 Promise 被拒绝时调用。它实际上是 `then(null, onRejected)` 的语法糖。 3. `finally()`: 无论 Promise 最终状态如何都会执行的回调函数,可以执行清理工作或者完成后的状态通知。 Promise 对象的构造函数接受一个执行器(executor)函数作为参数,该执行器有两个参数:resolve 和 reject。这两个函数也是由 JavaScript 引擎提供,用于改变 Promise 的状态。 以下是一个简单的 Promise 使用示例: ```javascript const promise = new Promise((resolve, reject) => { // 执行异步操作的代码 if (/* 异步操作成功 */) { resolve(value); // 将 Promise 状态改为 fulfilled } else { reject(error); // 将 Promise 状态改为 rejected } }); promise.then( (value) => { // 成功时执行的代码 }, (error) => { // 失败时执行的代码 } ); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值