promise是一个异步编程解决方案 他可以解决回调地狱的问题
他有三种状态 pendig进行中 fulfilled已成功 rejected 已失败
promise是一个构造函数 用于生成promise实例 构造函数接收一个函数作为参数
该函数的两个参数分别是resolve和reject 他们分别为一个函数 由js引擎部署
resolve函数的作用是将promise对象的状态由未完成变为成功 在异步操作成功是调用
reject函数的作用是将promise对象的状态由未完成变为失败 在异步操作成功是调用
缺点:
1.无法取消 一旦新建一个promise 他就会立即执行
2.如果不设置回调函数 其内部抛出的错误将不会反映到外部
3.当处于pending状态时 无法得知目前具体 进展到哪一步
promise的实例可以用then()方法接收两个回调函数作为参数 分别为fulfilled和rejected
状态的毁掉函数 其中第二个参数可选
promise.all()所有的异步操作都成功后再去执行一个动作
把多个promise实例当做一个promise实例
当所有的状态都完成之后 才会触发新的promise对象的then方法
promise.race()谁先回来处理谁 先到先得