修饰器,实现各种兼容用法
- Source:
Methods
(static) supportWXCallback(target, funcName, descriptor)
- Source:
提供微信api形式的回调
主要适用场景:将微信api改写为promise形式后,兼容旧代码
被修饰函数应该返回一个promise,成功时resolve,失败时reject,或返回{succeeded: true/false, ...}格式,通过succeeded字段标识成功失败
修饰后的函数会支持arguments[0]中传入success、fail、complete属性,并根据promise结果进行回调
Example
class Demo {
@supportWXCallback //自动支持success、fail、complete回调
async getSystemInfo(){
let sysInfo = {};//自定义getSystemInfo实现,比如加入一些缓存策略,添加一些额外字段等
return {
succeeded: true, //标示应该触发success回调还是fail回调
...sysInfo, //返回成功/失败对应数据
}
}
test(){
this.getSystemInfo().then(sysInfo=>{
//正常以Promise形式使用
});
this.getSystemInfo({
success(sysInfo){
//同时,自动兼容回调形式使用
}
})
}
}
Parameters:
Name | Type | Description |
---|---|---|
target |
||
funcName |
||
descriptor |