收藏
回答

网络异常或是网络不稳定的时候容易出现白屏、卡顿、卡死等情况,生命周期都没有 这时候应该怎么处理?

这时候 监听不到生命周期

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

1 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-10-28

    页面在未获得数据前,最好展示loading动画

    onLoad(){

        var t = this

        this.timeOutHandle = setTimeout(function(){

            // 这里可以setData让页面显示网络异常或超时提示内容

            // t.setData({ isTimeOut: !0 })

            wx.showToast({

                title: "网络超时,清稍后尝试",

                icon: "none"

            })

        }, 3000) // 3秒未获取到数据就提示超时

        this.getData()

    },

    getData(){

        // 网络请求数据

        wx.request({

            ...

            success(res){

                // 在其他操作前清除超时

                clearTimeout(this.timeOutHandle)

                ...

            },

            complete(){

                clearTimeout(this.timeOutHandle)

            }

        })

    }


    另外小程序默认超时时间和最大超时时间都是 60s

    超时时间可以在 app.json 或 game.json 中通过 networktimeout 配置

    https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html#%E8%B6%85%E6%97%B6%E6%97%B6%E9%97%B4

    2019-10-28
    有用 1
    回复 1
    • 忘川
      忘川
      2019-10-29
      好的 我试下 谢谢
      2019-10-29
      回复
登录 后发表内容
问题标签