关于Promise一些不懂的地方

Promise

关于promise ,还是觉得很抽象,还是有很多不懂的地方,这边我再仔细研究下

因为太抽象,我就形象点的来表达了

  • 首先还是得复习一下什么是异步这个概念
  • 打个比方,我去餐馆点餐,但是我正在写我的ppt.
  • 但是我很饿,需要吃饭,这时候服务员跑过来.然后我点菜.
  • 点完菜,我继续写ppt.
  • 而在我点完菜之后,服务员把菜单给厨师>>厨师开始做饭>>厨师饭做完了>>厨师交给服务员>>服务员再把菜给我放在桌子上>>我ppt写完了>>开始吃饭
    以上就是形象化的异步概念

promise

英文翻译: 承诺,许诺,答应…

  • 服务员会承诺会把菜端上来给我
  • 这个对象有三种状态: pendinfg(进行中),resolved(已完成),rejected(以失败)
  • 就好像服务员承诺会把菜端上来给我,分别对应,厨师正在做菜,厨师菜做完了并把菜给我,厨师菜做失败了没给我菜.

在这里插入图片描述

promise的作用

把异步代码写成同步形式
当我new Promise()时,就是在许下一个承诺了.

下面举个例子

  • 我许下一个承诺
  • 我承诺1秒之后,如果num大于0.5,那么就成功resolve,否则失败reject
  • 规定成功时执行什么函数,失败执行什么函数
  • 在then()执行成功时打代码,在catch()里执行失败的代码
const pro = new Promise((resolve,reject)=>{
  setTimeout(()=>{
    const num =Math.random()
    if(num >0.5) resolve()
    else reject()
  },1000)
})
pro.then(()=>console.log('这个数字比较大')).catch(()=>console.log('这个数字比较小'))
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值