Promise.prototype.finally
//Promise.prototype.finally 不管成功还是失败都会执行
new Promise((resolve, reject)=>{
setTimeout(()=>{
resolve('success')
// reject('fail')
}, 1000)
}).then(res=>{
console.log(res)
}).catch(err=>{
console.log(err)
}).finally(()=>{
console.log('finally')
})
应用场景,如果在一个弹出框返回结果之后取消 loading的状态,如果按照之前的方法,在成功跟失败的情况下都需要写一遍代码去执行,形成代码的冗余,使用finally 之后,不管成功还是失败都会执行,执行代码只需要执行一遍