简介,课程规划
- Promise介绍与基本使用
- Promise API
- Promise关键问题
- Promise自定义封装
- async与await
介绍
Promise是什么
抽象表达:
- Promise式一门新的技术(ES6规范)
- Promise是jS中进行异步编程的新解决方案(旧方案是单纯使用回调函数)
具体表达
- 从语法上说:Promise是一个构造函数
- 从功能上说:Promise对象用来封装一个一部操作并可以获取其成功、失败的结果值
//以下都是异步编程
//node.js中fs文件操作
require('fs').readFile('./index.html', (err,data)=>{
})
//ajax
$.get('/server', (data)=>{})
//定时器
setTimeout(()=>{
},2000)
为什么要用Promise
指定回调函数的方式更加灵活
- 旧的:必须在启动异步任务前执行
- Promise:启动异步任务=>返回Promise对象=>给Promise对象绑定回调函数(甚至可以再异步任务结束后指定多个)
支持链式调用,可以解决回调地狱的问题
- 什么是回调地狱:回调函数嵌套调用,外部回调函数异步执行的结果时嵌套回调执行的条件
- 回调地狱的缺点:不便于阅读,不便于异常处理
- 解决方案: Promise链式调用
2021-12-05