Promise

42 阅读1分钟

2.1. promise是什么

  1. 抽象表达

    a) promise是一门新技术
    b) promise是js中进行异步编程的新解决方案

  2. 具体表达

    a) 从语法上来说:promise是一个构造函数
    b) 从功能上来说:promise对象用来封装一个异步操作并可以获取成功或失败的结果值

2.2. 为什么使用promise

2.2.1 指定回调函数的方式更加灵活

  1. 旧的,必须在启动异步任务前指定
  2. promise启动异步任务=>返回promise对象=>给promise对象绑定回调函数(甚至可以在异步任务结束后执行指定或者多个)

2.2.2 支持链式调用,可以解决回调地狱问题

1. 什么是回调地狱

回调函数嵌套调用,外部回调函数异步执行的结果是嵌套的回调执行条件

2. 回调地狱的缺点

不便于阅读<br>
不便于异常处理<br>

2.1.2 promise状态

  • padding等待
  • resolved/fullfilled成功
  • rejected失败

2.2.2 promiseAPI

  • resolve()
  • reject()
  • all()
  • race()

2.3.2 promise构造方法

  • .then((res)=>{},(req)=>{})
  • .catch((res)=>{},(req)=>{})

2.4.2 异常处理

  • throw new Error()
  • try{}catch(e){}