详细问题描述
[内容]
我在按照”App资源在线升级更新“做wgt更新时,想通过nativeUI的waiting来显示wgt包下载进度,当下载任务的状态发生改变时,调用waiting的setTitle方法来显示已下载大小和总大小,但使用过程中会报 Uncaught RangeError: Maximum call stack size exceeded.如果不暂停还会导致手机死机重启
重现步骤
[步骤]下载wgt包时,监听下载任务,状态改变,调用setTitle设置waiting,显示当前已下载和总大小
[结果]报错:Uncaught RangeError: Maximum call stack size exceeded,手机死机
[期望]显示下载任务进度(当前已下载和总大小)
运行环境
[系统版本]win 7
[浏览器版本]
[IDE版本]Hbuilder
[mui版本]
附件
[代码片段]
/**下载wgtu差量更新包
- @param {Object} url wgtu包地址
*/
function downWgtu(url, index) {
var w=plus.nativeUI.showWaiting("升级包下载中...(" + (readyWgtu + 1) + "/" + sumWgtu + ")",{back:"none"});
var dtask = plus.downloader.createDownload(url, {
method: "GET"
}, function(d, status) {
if(status == 200) {
console.log("Download wgtu success: " + d.filename + JSON.stringify(d));
plus.nativeUI.closeWaiting();
installWgtu();
} else {
plus.nativeUI.closeWaiting();
alert("Download wgtu failed: " + status);
}
});
dtask.addEventListener('statechanged', function(d, status) {
console.log(d.downloadedSize+"--"+d.totalSize);
w.setTitle("升级包下载中...(" + (readyWgtu + 1) + "/" + sumWgtu + ")\n 进度:"+d.downloadedSize+"/"+d.totalSize);
});
dtask.start();
}
[安装包]
联系方式
[QQ]1052420024
[电话]13872344682
1 个回复
下一页丶翻
解决了么?