HarmonyOS 鸿蒙Next:怎么实现函数同步,比如完全执行完a函数,再去完成b函数
HarmonyOS 鸿蒙Next:怎么实现函数同步,比如完全执行完a函数,再去完成b函数
我在a函数里完成文件复制的操作,b函数解压a函数传来的文件,但a函数里文件还没复制完b函数就执行了,就会导致b函数报错找不到文件,求求各位各位老师的解决方法
6 回复
使用异步方法 用async 和 await 即可解决你的问题
使用了,但是依旧会在完全复制完成前先读取文件,依旧报错
方便的话贴一下代码吧
async copyFileAndUnpack(){ await copyFile() unpack() } 这样不行吗?
1、给函数a加个参数 callback: Function在参数列表末尾;
2、函数a完成操作后调用callback();
3、调用a时把b作为最后一个参数传递:a(p1, p2,.., b);
异步执行时序不熟悉时会混乱,可在函数中加入日志给出执行时序的标记,帮助确认异步实际执行效果。
另外:异步函数是一整套使用方式,有点套娃的效果,中间不能套错,不然就打破异步的接续效果了;最好上你的代码才能指出可能的错误。