JS中的promise

为什么需要使用promise

Javascript采用回调函数(callback)来处理异步编程。从同步编程到异步回调编程有一个适应的过程,但是如果出现多层回调嵌套,也就是回调金字塔,代码就会变得难以阅读,因此promise正是可以被用于解决回调金字塔的一种规范

在这里插入图片描述

promise的基本使用

在这里插入图片描述

<script>
  // setTimeout(function() {
   

  // })
  // 1.使用setTimeout
  // setTimeout(() => {
   
  //   console.log('Hello World')
  // },1000)

  // 什么情况下会用到promise? 一般情况下是有异步操作时,使用promise对这个异步操作进行封装
  // new -> 构造函数(1.保存了一些状态信息 2.执行传入的函数) 
  // 在执行传入的回调函数时,会传入两个参数,resolve,reject,本身又是函数
  new Promise((resolve,reject) => {
   
    // 异步操作
    setTimeout(() => {
   
      // 成功的时候,调用resolve
      // resolve('Hellow world')
      // 失败的时候调用reject
      reject('error message')
     },1000) 
  }).then((data)=> {
   
    // 1.100行的处理代码
    console.log(data);
  }).catch(err => {
   
    console.log(err)
  })

</script>

promise的三种状态

在这里插入图片描述

promise的另外处理形式

<script>

    new Promise((resolve, reject) => {
   
      setTimeout(() => {
   
        resolve('Hello Vuejs')
        reject('err message')
      }, 1000)
    }).
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值