HarmonyOS 鸿蒙Next关系型数据库获取到的list数组得不到返回值
HarmonyOS 鸿蒙Next关系型数据库获取到的list数组得不到返回值
日志先输出的页面中的log内容再输出的数据库自定义函数中的log,我加了await也是这样
这里是使用数组的foreach循环,有没有大佬能帮我看看!感谢!
2 回复
你这是没有太理解异步操作与同步操作的区别和正确使用方式,可以看一下有关同步异步思路转换的帖子:
https://developer.huawei.com/consumer/cn/forum/topic/0201148145311180335?fid=0101587866109860105
仔细看看帖子,再去搜索一下Promise, async/await 的用法,有些文章中有测试小代码,可以帮助真正理解各个语法的实际效果,这样写出来的代码和自己的想法才会吻合。
当前这个问题里不能直接将函数调用作为结果直接赋值给数组,由于异步特性,调用时并无数据返回,真正的数据是延后产生的,所以直接赋值得不到结果;你自定义的方法中调用了异步函数但自身未正确使用异步函数的两种形式之一来继承异步特性,需要改造一下,Callback 或 Promise 两者选择一个来定义此函数才方便调用方使用;API中多数接口函数也是用这两种形式各有一个函数。先把异步函数使用的正确方式理顺,代码中与预期不符的情况就会少很多。