微信小程序-云开发-巨坑-----异步问题

初学微信小程序开发,做一个社交小程序作为毕业设计(导师要求做小程序,没办法学吧)。

之前由于不了解小程序js异步回调相关内容,所有的接口调用都是用的callback方法,每次都在success后处理相关逻辑。

做设计类的东西免不了使用大量的图片,这个时候我的问题来了:当用户登录时需要刷新大量的帖子里的大量图片,我采用的存储方法是把图片保存到云开发环境提供的存储里,让后把返回的fileID保存到数据库,这样每次在客户端加载页面都需要去下载图片,由于我调用数据库和到存储中下载图片都是写的callback方法,这个时候问题就出现了:我数据库的success逻辑已经执行完了,但是我关于的图片下载工作还没有完成,那么这个时候去渲染页面必定是拿不到数据的。

这个bug一开始我以为是自己代码逻辑错误,后来才知道我掉进了异步回调这个大坑。

然后我果断把所有方法都改成了promise风格,到此,异步问题破了;所以暗自决定今后对于callback异步调用方法一定要慎重选择。

发布了35 篇原创文章 · 获赞 11 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/bokerr/article/details/89529818
今日推荐