收藏
回答

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

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

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

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

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


回答关注问题邀请回答
收藏

8 个回答

  • 睦岩
    睦岩
    2023-07-20

    有没有类似axios 的cancelToken 这类的东西呢

    2023-07-20
    有用
    回复
  • @菇娘
    @菇娘
    2021-10-14

    不同分类对应不同数组,渲染的时候使用同一个view, 根据不同的type,渲染不同的List

    2021-10-14
    有用
    回复
  • jsgjdgkdykdykdyk
    jsgjdgkdykdykdyk
    2021-06-08

    好家伙 看这么多评论 都不知道怎么终止?我的小程序也遇到 有些人狂切页面 我设置的10s延时报错 结果去别的页面提示出来了

    2021-06-08
    有用
    回复
  • 17167101167
    17167101167
    2020-08-26

    加个遮罩层,跟loading同时触发和掩藏,上一次请求数据没回就点击不了下一次的请求

    2020-08-26
    有用
    回复
  • KK
    KK
    2019-03-28

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


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


    2019-03-28
    有用
    回复
  • 杨泉
    杨泉
    2019-02-14

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

    2019-02-14
    有用
    回复 3
    • 2019-02-14

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

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

      弱网情况,10秒。,。。


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




      他这个是最好的思路

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


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


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


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

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

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

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

    2019-02-13
    有用
    回复 2
    • 2019-02-14

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

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

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

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

    不算高效的思路。

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

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

    2019-02-13
    有用
    回复 2
    • 2019-02-14

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

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

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


      2019-02-14
      回复
登录 后发表内容