记录uni-app+uniCloud的一个不解之惑(暂时无解)

306 阅读1分钟

打算用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,并不执行“赋值成功”,如下图: image.png 按道理来说箭头函数也用了应该不是this的指向错误问题 方式二: 查询一番资料,却没有想要的解决方案,为避免因对success的某些特性无知而产生使用错误,于是就换一种我比较熟悉的请求方式:.then

methods: {
    getAllCategories(){
        uniCloud.callFunction({
            name:"getAllCategories"
	})
	.then (result=>{
            console.log(result);
            this.category = res.res.category;;
            console.log("赋值成功!")
	})
    }
}

当然,结果仍然不行。改变多种方式之后,发现无论如何,问题核心就是怎么也不能用 res.xxx 来获取到数据。很折磨人! 本人水平有限,问题先放一放,先搞手头上的事,希望看到的大佬帮忙解答一下,感激不尽!