如果成功调resolve,如果失败调reject,then的参数为两个函数,成功时调第一个,失败时调第二个。
读取文件(未封装promise的方法):
执行:终端中:node 模块名
xhr式的Ajax请求:
promise封装:
不必手动封装promise方法:使用util.promisify方法
执行promise封装的方法.then
Promise的状态
实例对象中的一个属性「Promi seState」
pending未决定的
resolved / fullfilled 成功
rejected失败
说明:只有这2种,且一个promise对象只能改变一次,无论变为成功还是失败,都会有一个结果数据,成功的结果数据一般称为value,失败的结果数据一般称为reason
Promise对象的值
实例对象中的另一个属性「PromiseResult」
保存着异步任务对象「 成功/失败」的结果
resolve
reject
promise工作流程:
promise的API:
改变promise对象状态的三种方式:
实例二: