promise应用
2026/8/12 17:33:25 网站建设 项目流程

Promise介绍

  • 什么是Promise

    • 是一个类

    • 当通过new创建Promise实例,需要传入一个回调函数,我们称之为executor

      • 这个回调函数会被立即执行,并传入两个回调函数的参数(resolve, reject)

      • 当调用resolve回调函数时, 会执行Promise对象的then方法传入的回调

      • 当调用reject回调函数时, 会执行Promise对象的catch方法传入的回调

    • Promise是一个状态机,分为3种状态

      • pending: 待定状态,执行了executor后,处于该状态

      • fulfilled: 兑现状态,调用resolve()后, Promise的状态更改为fullfilled, 且无法再次更改

      • rejected: 拒绝状态,调用reject()后,Promise的状态更改为rejected,且无法再次更改

  • resolve 的参数

    • 如果传入的是普通的值或者对象,则会传递到then的参数中

    • 如果传入的是一个Promise, 那么当前的Promise状态会由传入的Promise决定

const newPromise = new Promise((resolve, reject) => { resolve('success') }) new Promise((resolve, reject) => { // 当前Promise的状态由传入的Promise决定 resolve(newPromise) }).then(res => { console.log('res', res) }).catch(err => { console.log('err', err) })
  • 如果传入的是一个对象,并且该对象实现了then方法(thenable), 也会执行该then方法,并且由该then方法决定后续的状态

new Promise((resolve, reject) => { // 如果 resolve 传入的是对象,且该对象实现了then方法 // 则该 Promise 的状态由then方法决定 resolve({ then(resolve, reject) { reject('error') } }) }).then(res => { console.log('res', res) }).catch(err => { conso

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询