一.Promise的介绍
1.Promise的由来
(1)Promise是es6提出来的一个非常重要的一个语法
(2)Promise是一种‘处理异步’的解决方案
用“同步编写代码”的方式“处理异步”的一种解决方案,解决回调地狱的问题
2.Promise的简单介绍
(1)Promise是一个构造函数
(2)() 参数里是一个回调函数
resolve : fn =>成功操作 调用resolve
reject : fn => 失败操作 调用 reject
(3) Promise里面放一个异步操作
二.Promise的使用
1.Promise的简单使用
(1)p实例 是 Promise 类型
const p = new Promise((resolve, reject) => {
setTimot(()=>{
...},0)})
(2)axios.get() 都是promise类型(axios是基于promise发送ajax的工具库)
(3)promise的类型的实例 都可以点then
axios.get().then()
axios.post().then()
p.then()
XXX.then()
2.resolve/reject和then/catch的关系
① 假如异步操作成功 => 调用 resolve => 走then => 传参数
resolve(‘成功的信息’) => 传递给then的参数
② 假如异步操作失败 => 调用 reject => 走 catch =>传参数
reject(‘这是一条错误信息’) => 传递给catch的参数
// 自己封装的 promise
const p = new Promise((resolve,reject) => {
setTimeout(() => {
// console.log('异步操作开始了');
// 假如异步操作成功 => 调用 resolve => 走then => 传参数
// resolve('成功的信息')
// 假如异步操作失败 => 调用 reject => 走 catch =>传参数