乐趣区

关于javascript:记录arrmap-和arrforeach-遇到的回调函数异步和同步问题的坑

大抵问题是:
通过 map 或者 foreach 循环的回调函数操作数组,回调函数外部有 ajax 异步函数,通过 await 同步的写法来调用的。console.log 打印出数组跟理论渲染到 view 层的页面始终不统一。
起初改写成 for 循环就好了。

第一次发现 bug 认为是双向绑定呈现了问题,因为数组会有此状况。但起初抛出了。
第二次发现是只有通过 await 调用了异步办法,前面同步代码再执行 await 后返回的后果,就会呈现 bug。
第三次。。。暗藏各种代码,还狐疑是阿里云的 sdk 呈现了问题。
起初找老大才解决了这个问题,尽管上厕所期间也感觉就是 map 或 foreach 办法的回调函数呈现了问题,但不晓得从何改
也想过应用 for 循环革新,but 须要在 for 循环外部应用 await 关键字,思考可能会报错。

所以总结进去,基础知识,在了解 map 和 foreach 这个 api 不够粗浅,也对 await 关键词的应用场景了解不透彻(尽管是 for 循环,但作用域函数能够找到顶层的函数作用域,所以不会报错)

贴出代码:

退出移动版