收藏
回答

页面关闭,异步任务继续执行,怎么办

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 需求 异步 客户端 6.7.3 2.3.0

我有两个耗时操作需要一进页面就触发的,但是时间貌似有点长,快速进入返回进入返回操作,会造成卡死现象。这两个异步线程都是用promise写的,想在unload方法里解绑或者取消线程,但promise不支持取消操作,有什么办法可以做到么?

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

2 个回答

  • Embrace
    Embrace
    2018-10-25

    弄个全局变量?记录是否已经触发promise  是的话进来就不触发了

    2018-10-25
    赞同 1
    回复 5
    • 略略略略略
      略略略略略
      2018-10-25

      这样还不行,因为A页面是 列表页 ,我是要通过A页面进入B页面 B页面onReady里有绘图操作 这是耗时任务,

      数据源不一样要绘制的东西也不一样,所以不能中断第二个 ,只能中断上一个任务。

      2018-10-25
      回复
    • Embrace
      Embrace
      2018-10-25回复略略略略略

      这样啊,我也没遇到会卡死的情况,我一个列表不断进详情页  一次10多个请求都没卡死

      2018-10-25
      回复
    • Embrace
      Embrace
      2018-10-25回复略略略略略

      这样吧,unload之前直接reject掉

      2018-10-25
      1
      回复
    • 略略略略略
      略略略略略
      2018-10-25回复Embrace

      我是绘图操作  ,和请求还不太一样。安卓机还没啥问题,同事的iphone6 就崩溃了,请问你说的reject掉是什么意思 ?

      2018-10-25
      回复
    • Embrace
      Embrace
      2018-10-25回复略略略略略

      就是页面关闭前让本次的promise失败

      2018-10-25
      回复
  • 小泽摔不倒
    小泽摔不倒
    2018-10-25

    api.abort()    api为你请求的链接 abort()是官方提供的终止当前请求的


    https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.abort.html

    2018-10-25
    赞同
    回复 6
    查看更多(1)
登录 后发表内容