Promise

145 阅读1分钟

这是我参与11月更文挑战的第18天,活动详情查看:2021最后一次更文挑战

 一.什么是promise

二.网络请求的回调地狱

(套娃?)

三.定时器的异步事件

话不多收,咱们直接上代码,看一下promise这个东西到底如何使用的

显然,这里出现了回调地狱。代码不够优雅

在promise函数里写resolve() 函数再回调then函数。把不够优雅的代码写进去  一旦调了resolve函数就会来到then

最后形成了比较优雅的代码:

三.什么情况下会用到Promise

一般情况下是有异步操作时,使用Promise对这个异步操作进行封装

这里提一下resolve 和 reject

当你执行new的时候回调的是这个函数,

 

四.Promise的三种状态

sync ->同步

async -> 异步

顺便讲一下第二种Promise写法:

五.Promise的链式调用

链式调用一:

链式调用二:

链式调用三:

代码越来越优雅

如果链中其中有一行执行 reject   前面代码可以执行但是下面代码不执行 然后回调catch(又捕获了一个小可爱)

或者咱们手动抛出异常  throw 

六.promise的all方法

虽然函数有点多,但是不要害怕

用settimeout模拟一下,直观一点