小程序 Promise构造函数解决“回调地狱”

135 阅读1分钟

1. 回调地狱

假如业务逻辑如下图,那么我们的事件函数很可能需要在回调函数中套好几个函数, image.png 形成如下图的“回调地狱”: A(JP}%B@J906WWURQN$SJ97.png

Promise 构造函数是解决“回调地狱”的一种方法。

2. Promise((resolve,reject)=>{})

Promise 构造函数只有一个参数,是一个函数,这个函数在构造之后会直接被异步运行,所以我们称之为起始函数。起始函数包含两个参数 resolve 和 reject。
Promise 类有 .then() .catch() 和 .finally() 三个方法,这三个方法的参数都是一个函数,
.then() 可以将参数中的函数添加到当前 Promise 的正常执行序列,
.catch() 则是设定 Promise 的异常处理序列,
.finally() 是在 Promise 执行的最后一定会执行的序列。
.then() 传入的函数会按顺序依次执行,有任何异常都会直接跳到 catch 序列。

下面是小程序调用接口使用Promise 构造函数的一个例子。 image.png

image.png

image.png