一个异步问题导致的小bug

之前不是给孩子写了个

听写的小程序吗

然后今天发现突然有个bug

就是他没法生成试卷了

我们试一下

随便写两个字

然后交卷

大家看这块没问题

只是点生成试卷的时候注意

他就没有把我写的字加载上来

然后呢

这个问题在模拟器上就是好使的

大家看啊

我随便也是写两个字

大家看

在模拟器上我写的字就能加载上来

后来呢我找了一圈啊

我发现其实原因是在这里

这个循环画这个框的时候

就这个方法在一个字一个字的画

包括这个绿色的字体哈

还有我自己写的字

都是通过这个方法

一个一个在放循环里画的

但是呢这里边有一个异步

就是我在加载用户写的这个图片

在这是异步的往里边画的

所以呢这个异步可能还慢一点

然后他就开始分享这个图

就弹窗出来了

所以呢这块我们要把它改造一下

我们在这把它变成一个

然后把整个这个放里边来

好然后呢我们在这

resolve一下

相当于我整个这个方法是有promise了

整个他返回了一个promise

然后呢

我们这个放循环里会返回很多的promise

所以这块需要一个数组

好然后呢我们把它铺实到这里边

好然后我们在下边

promise.all

把这数组拿过来然后then

整个就把它放进去

好我们再来试一下啊

最后直接真机调试

生成试卷

这回就可以了

OK

最后更新于

这有帮助吗?