收藏
回答

微信小程序里面怎么终止已经触发但是还没有返回数据的请求?

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.request 工具 7.0.3 2.6.0

微信小程序里面怎么终止已经触发但是还没有返回数据的请求?

大概环境就是,有分类页的数据,来回切换分类,刚好网络差,上次的请求没返回,又点击了下一个分类,实际上每次点击都会清空掉列表,但是上次请求的数据也会加载到这次的列表中

也看了一下RequestTask.abort(),好像在外部调用没办法生效


最后一次编辑于  02-13  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

4 个回答

  • 海玄科技
    海玄科技
    02-13

    不算高效的思路。

    建议每个分类都在data里的存储自己的数据数组,

    这样点击之前分类,可以少一次网络请求,直接读取data里的数据。

    02-13
    赞同
    回复 2
    • Venom
      Venom
      02-14

      这是个好的方法,也尝试过,被驳回了,因为我们做的东西涉及到实时库存,需要每次点击的时候加载最新数据

      02-14
      回复
    • 海玄科技
      海玄科技
      02-14

      不同分类对应不同数组是可取的。


      02-14
      回复
  • 吴奕群
    吴奕群
    02-13

    可以每个分类都存一个数组啊,这样切换的时候先判断有没有对应分类的数组有没有存在,没有存在再去请求数据

    02-13
    赞同
    回复 2
    • Venom
      Venom
      02-14

      这是个好的方法,也尝试过,被驳回了,因为我们做的东西涉及到实时库存,需要每次点击的时候加载最新数据

      02-14
      回复
    • 吴奕群
      吴奕群
      02-14回复Venom

      还有一个方法就等当前分类加载完才允许去切换下一个分类

      02-14
      回复
  • 杨泉
    杨泉
    02-14

    频繁点击切换这种情况需要做一下节流

    02-14
    赞同
    回复 3
    • Venom
      Venom
      02-14

      做过限制,大概0.5秒一次,可是在弱网下,10秒才有返回,节流没啥大的用处

      02-14
      回复
    • 杨泉
      杨泉
      02-14

      弱网情况,10秒。,。。


      那这种网络状态,节流是没啥大意义了。就算是微博客户端都会出问题。。。




      他这个是最好的思路

      和你说的需要实时加载最新的不冲突啊


      你这个问题的根源在于,多个数据源在一个view上渲染,网速慢导致渲染的数据错乱


      那你干脆拆分成多个view,有几个分类就几个view层列表,


      02-14
      回复
    • Venom
      Venom
      02-14回复杨泉

      只能根据多个列表,循环多个view去做了,数据量比较大,改动起来比较恶心

      02-14
      回复
  • kk
    kk
    03-28

    楼主遇到的问题,是真正做事的人才会遇到的。


    有分页、还有图片的情况下,不仅仅网络状态要考虑,setData的性能更要考虑。


    03-28
    赞同
    回复