鸿蒙开发-更新头像遇到的问题

107 阅读1分钟

错误的方法

image.png

我们在进行图片更新的时候可能会将数据更新的方法写在上传图片方法的后面(如上图所示)

当你上传图片的时候就会发现,你的图片没有发生更新或者偶尔一次竟然更新成功

通过多次尝试更新图片发现服务器给你返回的数据是未更新的数据,所以不会引起 UI 的改变

正确的方法

image.png

image.png

将更新数据的方法写在上传方法的回调函数之中

理由

当我们在上传图片的时候虽然使用了await,但是在执行uploader很快就会返回,与此同时图片还在上传中,并没有上传成功

当我们将更新数据的方法写在上传方法之后时,尽管都使用了await,但是由于uploader很快返回,同时图片还在上传过程中,就会立马执行更新数据的方法,由于图片还未上传成功,所以,当我们去拿图片数据的时候,服务器就会给你返回旧数据,所以不会引起 UI 的更新。