Promise.finally()
finally()方法用来制定不管Promise对象最后状态如何,都会执行的操作
实例:
promise
.then( result => {…} )
.catch( error => {…} )
.finally(()=> {…});
不管上面promise最后的状态,在执行完then或catch制定的回调函数以后,都会执行finally方法指定的回调函数
finally方法的回调函数不接受任何参数,这意味着没有办法知道,前面的promise状态到底是fulfilled(成功)还是rejected(失败),这表明,finally方法里面的操作,应该是与状态无关的,不依赖与promise的执行结果
finally()的实现原理无非就是无论then后面成功还是失败,两种情况各写一次,这样的话promise是fulfilled还是rejected,都会执行准备好的回调函数