网络异常或是网络不稳定的时候容易出现白屏、卡顿、卡死等情况,生命周期都没有 这时候应该怎么处理?
发布于 6 年前 作者 qiangdu 12985 次浏览 来自 官方Issues

这时候 监听不到生命周期

1 回复

页面在未获得数据前,最好展示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

回到顶部