Promise回调函数

Promise 是 JavaScript 中实现异步编程的一种重要方式。

Promise 的特点包括:

  1. 解决回调地狱问题

Promise 通过 then 链式调用,避免多层回调函数嵌套。

   2.支持异步操作

Promise 可以表示一个异步操作的最终完成或失败,并在完成后执行回调函数。

3.只执行一次

每个 Promise 对象只能触发一次完成或失败,then 和 catch 只会调用一次。

4.支持链式调用

then 和 catch 返回新的 Promise,可以链式调用下一个操作。

5.状态不可变

一旦状态发生改变,Promise 对象就不会再改变状态。

我用通俗的语言再解释一下Promise:

通俗理解

Promise就像是定一个餐在餐厅。

  1. 你先去柜台定餐(new Promise),然后给服务员下单(异步任务)
  2. 这个时候餐没好,你只能去旁边先等着(异步操作)。
  3. 等到餐做好了(resolve),服务员会叫你的号,你可以去取餐。
  4. 如果餐做失败了(reject),服务员也会告诉你,你只能换一个餐或取消。
  5. 如果你叫了两个号(then链式调用),也就是点了两个餐,第一个餐好了,你就可以先去取。等到第二个餐好了,你再过去取第二个餐。
  6. 每个餐(Promise)只能完成或者失败一次,不能中途改变。一但状态确定就不会再改变了。

Promise的意思就是一个承诺,我承诺给你一个结果,但是需要异步完成,中间有可能成功(resolve)也有可能失败(reject),但绝不会两者同时发生。

链式调用就像订餐的号码,确保异步任务执行的顺序

以上就是我对Promise的通俗解释,希望这个比喻让你更容易理解Promise。

Promise的用法

const promise = new Promise((resolve, reject) => {
  // 异步操作

  if(成功) {
    resolve(value); // 变为 fulfilled
  } else {  
    reject(error); // 变为 rejected
  }
});

promise.then(value => {
  // fulfilled 状态执行
}).catch(error => {
  // rejected 状态执行
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值