本想着直接用,不要封装,也很方便。后来发现还是要简单封装一下,省掉一些重复的验证。重点在resolve和reject
export function invokeCloudFunction(accessToken, name, params, env) {
return new Promise((resolve, reject) => {
axios.post(`/weixinapi/tcb/invokecloudfunction?access_token=${accessToken}&env=${env}&name=${name}`, params)
.then(res => {
console.log(res);
if(res.status==200 && res.data.errcode == 0){
resolve(res.data);
}else if(res.data.errcode == 42001){
reject("assesstoken overtime")
}else{
reject("youwenti")
}
}).catch(err => {
reject(err.data)
})
})
}
使用
invokeCloudFunction(token,`getArticleList`,{a:2,b:3},"travel-pet-1").then(res=>{
console.log(res)
if(res.errcode == 0){
const funcRs= JSON.parse(res.resp_data)
if(funcRs.errMsg == 'collection.get:ok'){
this.setState({articles:funcRs.data})
}else{
alert('query wrong')
}
}else{
alert(res)
}
})
网友评论