Promise 的理解

Promise是JavaScript中用于异步操作的工具,它有三种状态:pending、resolved和rejected。通过newPromise创建实例,执行异步操作后调用resolve或reject。然后通过.then处理成功或失败的情况。Promise.all()等待所有任务完成,而Promise.race()则在第一个任务完成时返回结果,这提供了更灵活的回调处理和避免回调地狱的能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. promise 是什么?

promise 是JS 中进行异步编程的最新的解决方案
从语法上来说:Promise 是一个构造函数
从功能上来说:promise 对象时用来封装一个异步操作并可以获取其结果
其三种状态,reasolve 、pendding、 rejected

  1. Promise 的基本运行流程

1.创建一个 new Promise()
2.执行异步操作,成功了执行resolve(),失败了执行reject()
3. 回调执行.then()
4.then 返回的是一个新的promise 对象
  1. Promise 的基本使用

1.创建一个新的Promise 对象
//1.创建一个新的Promise 对象
const p=new Promise((resolve,reject)=>{ //执行器函数
//2.执行异步操作任务
const time=Date.now() //如果当前时间是偶数就代表成功,否则就代表失败
//2.1 如果成功了,调用resolve
if(time%2==0){
resolve('成功了')
}else{
//2.2 如果失败了,调用reject
 reject('失败了')
}

})
p.then(res=>{//接收得到 resolve成功的数据
},error=>{ //接收得到 reject失败的数据
})
  1. 为什么要用Promise?

1.指定回调函数的方式更加灵活
2.支持链式调用,可以解决回调地狱

  1. Promise 的 API 的使用?

Promise.all() 接收的是一个数组
Promise.race() 接收的是一个数组
const PAll=Promise.all([p1,p2,p3]) //一个失败了,就统一失败了
const PAll=Promise.race([p1,p2,p3]) //看谁先完成
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值