Promise.finally()实现原理与理解

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,都会执行准备好的回调函数

posted @ 2021-03-15 16:49  HandsomeGuy  阅读(2938)  评论(0编辑  收藏  举报