如何给小程序的promise增加finally?
来源:14-3 高阶组件示例1:搜索组件

慕码人1018289
2018-10-25
我需要promise.then()之后来个finally,比如加载数据的时候,我又加载loading图标又加锁,数据来了之后再解。但是如果异常了,也需要解锁等工作,没有finally,就要手动补充then中的reject处理和catch,有些麻烦。我查了查网上,说这样的代码可以增加finally:
Promise.prototype.finally = callback => {
return this.then(
value => this.constructor.resolve(callback()).then(() => value),
reason => this.constructor.resolve(callback()).then(() => { throw reason })
)
}
自己定义一个finally。可是我把这段代码放到哪里,都会报错,因为找不到里面的this。我想了想,应该是需要在promise的那个文件里修改。可是小程序把promise的文件放哪里了呢?我又怎么能修改这个文件呢?
写回答
2回答
-
王小错
2021-01-13
你把箭头函数换成function
00 -
7七月
2018-10-25
我不太明白什么是小程序的promise,对于promise是ES6语法和小程序没有关系。正常的使用finally即可啊
00
相似问题
小程序
回答 1
关于封装的promise有个小疑问
回答 2