uniCloud.addInterceptor('callFunction', {
invoke(param) {
// param为拦截Api的参数 例 {name: 'functionName', data: {'functionParam1': 1, 'functionParam2': 2}}
// 此处返回错误可终止api执行
},
success(res) {
// res为callFunction的返回值,此处可以对返回值进行修改
console.log(res);
if(res.result.code == 0){
return Promise.resolve(res.result)
}
},
}
这个成功回调拦截success里面怎么把修改后得res传递出去啊?比如本来res是{result:{code:"",data;""}},现在我要拦截成功直接在后续得函数中拿到data,这个很正常得需求怎么实现啊,我现在拿不到啊!这个拦截器到底怎么向后传递值啊!!!!!
whr2349 (作者)
不行啊,改了res得值,后面.then(res)里面得res还是之前得啊
2021-08-26 10:04
whr2349 (作者)
uniCloud.callFunction({
name: 'unirouter', // 要调用的云函数名称
data: {
action: 'user/phoneSignUp', // 路由地址,对应 controller 下 user.js 的 login 方法
// 参数列表
data: {
// controller 通过 this.ctx.data 获取
userName: 'demo',
password: 'demo',
},
},
}).then(res=>{
console.log(res); //这里得res并没发生改变啊!
})
2021-08-26 10:10
whr2349 (作者)
uniCloud.addInterceptor('callFunction', {
invoke(param) {
// param为拦截Api的参数 例 {name: 'functionName', data: {'functionParam1': 1, 'functionParam2': 2}}
// 此处返回错误可终止api执行
},
success(res) {
// res为callFunction的返回值,此处可以对返回值进行修改
res= 1
}
2021-08-26 10:11
DCloud_uniCloud_WYQ
回复 whr2349: ...建议先详细的学习下js的数据类型,https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Data_structures
2021-08-26 11:59
whr2349 (作者)
回复 DCloud_uniCloud_WYQ:不行啊 ,老哥。没解决问题啊,res在拦截器里面改了,后续得调用中还是没变啊
2021-08-26 13:50