Promise 对象简单理解

Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息

Promise 特点

三个状态

  • pending (初始状态)
  • fulfilled (操作"成功")
  • reject (操作"失败")

两个过程

  • padding ==> Resolved 
  • padding ==> Rejected
  • 只要这两种情况发生,状态就凝固了,不会再变了,会一直保持这个结果

Promise 创建

const p = new Promise(function(resolve, reject) {
    // 异步处理
    // 处理结束后、调用resolve(解析) 或 reject(拒绝)
    // 在回调中执行一些操作,如果一切都正常,则调用 resolve,否则调用 reject
})

Promise.prototype.then 方法会返回一个新的Promise 对象 可以使用链式编程解决回调地狱

Promise.prototype.catch 用于捕获发生的错误

reject 与 catch 的区别

  1. reject 用来抛出异常, catch 用来处理异常
  2. reject 是Promise 的方法, catch 是Promise 实例的方法
  3. reject 抛出的异常会进入.then的第二个回调,若没有则进入catch
  4. 网络异常会直接进入catch

async / await

用来解决异步操作

async 修饰函数 内部await 表示一个异步

函数执行时,一旦遇到await就会先返回,等到异步操作完成再执行函数体内后面的语句

用async修饰的函数返回一个 Promise 对象, 配合await可以直接得到Promise执行结果,代码更简洁

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值