1. 概念及其特点:
promise是一个使得异步操作具备同步操作的效果的构造函数,它让程序具备正常的同步运行的流程,回调函数不必再一层层嵌套。
简单说,它的思想是,每一个异步任务立刻返回一个Promise对象,由于是立刻返回,所以可以采用同步操作的流程。这个Promises对象有一个then方法,允许指定回调函数,在异步任务完成后调用。
创建一个promise对象
const p = new Promise((resolve, reject) => {
// promise内部一般可以封装一个异步操作
// resolve, reject 是 promise 内部提供好给你的两个函数
// 成功调用 resolve
// 失败调用 reject
})
// 使用promise对象
p.then(res => { ... }) 处理成功
.catch(res => { ... }) 处理失败
特点:
1、Promise对象只有三种状态。
异步操作“未完成”(pending)
异步操作“已完成”(resolved,又称fulfilled)
异步操作“失败”(rejected)
异步操作成功,Promise对象传回一个值,状态变为resolved。
异步操作失败,Promise对象抛出一个错误,状态变为rejected。
2、promise的回调是同步的,then是异步的