promise 是一种异步编程的解决方法 为了解决回调地域的问题
一、要了解 Promie 我们要了解 “回调地狱”
众所周知 JS 是异步编程 在同一时间 只能处理一件事情 并且为了提高效率防止阻塞
js 将事件分为了 简单事件 和 复杂事件 所以一般来说 js的执行顺序为:
简单事件全部执行完毕 后 执行复杂事件
但是如果想要 按顺序执行 复杂事件的话会造成如下问题:
// 吃早饭 1秒
const eatBreakfast = () => {
// 用定时器模拟所需要的时间 达到模拟复杂事件的效果!!
setTimeout(() => {
console.log('吃早饭');
}, 1000)
}
// 去上班 3秒
const goWork = () => {
setTimeout(() => {
console.log('去上班');
}, 3000)
}
// 回家 2 秒
const comBack = () => {
setTimeout(() => {
console.log('回家');
}, 2000)
}
// 按顺序触发
(function Fn() {
// 先吃饭
eatBreakfast()
// 再上班
goWork()
//最后回家
comBack()
})()
按照预期的效果我们应该得到的是 : 1吃饭2上班3回家
但是实际上: