ajax同步与异步 -- 异步与页面刷新

本文探讨了H5应用中使用localStorage缓存数据时遇到的问题,特别是当数据更新后如何确保缓存同步刷新。通过调整AJAX请求为同步执行解决了缓存不刷新的问题,并讨论了同步加载可能带来的用户体验影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做自动登录时访问数据的封装,其中涉及到了跟资产相关的房间信息,封装操作在登录时加载,应用到了H5在浏览器中的localStorage,不了解的话可以先行百度一下。

此时遇到一个问题,例如资产房间进行了增删改,对应的缓存也是要进行同步刷新的,不然其他地方获取的仍然是之前的数据。

最开始考虑到的是在执行增删改的接口返回success时调用对应的缓存刷新封装方法。

图中红色圈起来的部分,则是执行刷新方法,但是测验发现,当前insert成功了,但是上面三个方法却没有完全执行。注释掉reload后则会完全执行。

于是考虑到是什么影响到了方法的调用,那就是异步的问题,方法在调用时,默认的async未写,则是默认的true异步加载。

同时会继续向下调用其余方法,与此同时,reload方法将未执行完毕的三个方法直接刷新掩盖了。等若于直接return中止其余方法。

为了顺利刷新,在上述方法内部加上async:false 使得方法变成同步执行。(如果有更好的方法,希望可以指出留言)

ajax的目的本就是异步加载,此时却加上了同步的限制,让其失去了部分意义,但是为了数据的完整加载,目前只想到了这个办法。另外提醒一句,同步加载是将网页卡住的操作,一个个等待加载,如果同步的方法涉及太多,则页面加载效果看起来就很差,希望大家能注意。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值