一、介绍
Promise对象是一个代理对象,一个代表未知返回结果的对象值。这个值在Promise对象创建时可能是未知的,它允许你为异步操作的成功和失败分别绑定相应的处理方法, 这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是返回一个能代表未来出现的结果的promise对象
二、使用
new Promise(executor)
executor:一个带有两个参数(resolve和reject)的方法,resolve为fulfilled状态,即成功之后调用,reject为rejected状态,即失败之后调用。
即:new Promise(function(resolve, reject){})
1、executor在创建Promise对象时立即调用
2、若executor函数中抛出错误,promise状态为rejected,executor函数返回值被忽略
三、状态
pending:初始状态
fulfilled:成功状态
rejected:失败状态
1、fulfilled、rejected被统称为settled,fulfilled也可被称为resolved
2、只有两种状态变化过程:pending → fulfilled,pending → rejected,且状态只可变化一次,一旦发生变化便会一直保持这个结果。