ES9(二) —— Promise.finally
2020-11-07 本文已影响0人
顽皮的雪狐七七
目录
- Promise是如何“兜底”操作的?
- 想了解全部的Promise?
- ES6-ES10学习版图
Promise是如何“兜底”操作的?
使用Promise.finally
,无论执行then
还是catch
,都会执行finally
里面的函数体。
例如一个弹窗:可以用resolve
和reject
分别保存变量的值,
但是最后用finally
去控制弹窗的弹出。
下面看代码的例子:
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') })