使用Promise.finally
,不管执行then
仍是catch
,都会执行finally
里面的函数体。编程
例如一个弹窗:能够用resolve
和reject
分别保存变量的值,
可是最后用finally
去控制弹窗的弹出。segmentfault
下面看代码的例子:dom
const Gen = (time) => { return new Promise((resolve, reject) => { setTimeout(() => { if(time < 500) { reject(time) } else { resolve(time) } }, time); }) } Gen(Math.random() * 1000) .then(val => console.log(val)) .catch(err => console.log(err)) .finally(() => {console.log('finish') })