打算用uni-app + unicloud来搭建一个壁纸网站的时候,却卡死在请求数据成功之后的数据处理。问题如下: 方式一:
// uniCloud 云函数
'use strict';
exports.main = async (event, context) => {
//event为客户端上传的参数
console.log('event : ', event)
const res = await uniCloud.httpclient.request("https://service.picasso.adesk.com/v1/vertical/category",{
dataType:"json"
});
//返回数据给客户端
return res
};
// index.vue
<script>
export default {
data() {
return {
category:[]
}
},
onLoad() {
this.getAllCategories();
},
methods: {
getAllCategories(){
uniCloud.callFunction({
name:"getAllCategories",
success: (res) => {
console.log(res);
this.category = res.res.category;
console.log("赋值成功!")
}
}
}
}
</script>
这样打印出来的结果只有res,并不执行“赋值成功”,如下图:
按道理来说箭头函数也用了应该不是this的指向错误问题 方式二: 查询一番资料,却没有想要的解决方案,为避免因对success的某些特性无知而产生使用错误,于是就换一种我比较熟悉的请求方式:.then
methods: {
getAllCategories(){
uniCloud.callFunction({
name:"getAllCategories"
})
.then (result=>{
console.log(result);
this.category = res.res.category;;
console.log("赋值成功!")
})
}
}
当然,结果仍然不行。改变多种方式之后,发现无论如何,问题核心就是怎么也不能用 res.xxx 来获取到数据。很折磨人! 本人水平有限,问题先放一放,先搞手头上的事,希望看到的大佬帮忙解答一下,感激不尽!