大家肯定遇到过这样类似的场景:多个 Tab 页点击切换功能,若用户点击频繁,非常有可能会出现当前页面显示别的页面的数据。
因为每个接口返回信息的时间是不同的,你不能够确保先请求的一定最先返回数据,那么就非常有可能会出现停留在页面一却出现别的页面的数据的情况。这种异步的情况术语称之为异步竞态。
这些做法固然能处理问题,但是都治标不治本,而且还影响了使用者真实的体验,其实还有种办法能完美解决实际问题:取消请求。
当然了这个取消请求它只是不继续处理接口后续的响应了,并不是真的把请求给取消了。毕竟请求如果已经发出去的话,我们也不能顺着网线把它追回来。
用法还是挺简单的,对于有极大几率会出现异步竞态的情况下你们可以采用这个方法来解决。简单好用,还不会影响使用者真实的体验,封装下代码就能用起来了。