loadSubpackage 失败无法重试
发布于 6 年前 作者 xiadai 4894 次浏览 来自 问答

1、在iOS上 loadSubpackage 同时执行N个,发现无法并发,只有最后一个能下载。

2、在iOS上 loadSubpackage 一旦遇到网络问题,再次执行loadSubpackage将永远返回同样的错误。

求立即解决,否则分包根本不敢用!!!

另外,返回的进度回调上 模拟器上是0~100,而在iOS上则是0~1

求严格保持不同平台接口的一致性

代码

function loadSubpackage(name,progress,success){
        var retry=function(){
            console.log("开始加载分包",name)
 
            var loader = wx.loadSubpackage({
                name: name,
                success: function(res) {
                    console.log("分包",name,"加载完成")
                    success()
                },
                fail: function(res) {
                    console.warn("分包",name,"加载失败")
                    wx.showModal({title:"友情提示",content:"您的网络连接不够稳定"+JSON.stringify(res),showCancel:false,confirmText:"重试",cancelText:"重试",success:(res)=>{
                        retry()
                    },fail:()=>{
                        retry()
                    }})
                }
            })
            loader.onProgressUpdate(function(res){
                if(res.progress>1){
                    res.progress=res.totalBytesWritten/res.totalBytesExpectedToWrite
                }
                progress(res.progress,res.totalBytesWritten,res.totalBytesExpectedToWrite)
            }) 
        }
        retry()
    }
1 回复

你好,6.7.0 版本已经修复了这个问题,预计这周我们在 6.6.7 上修复这个问题

回到顶部