以下代码在下载时显示下载百分比的代码会报错:Uncaught RangeError: Maximum call stack size exceeded,我的代码仿佛没有进行递归调用呀,如果把case 3 里的代码段注释后下载就不会报错了,不知何故。
function downWgt(wgtUrl) {
console.log(wgtUrl);
var w = plus.nativeUI.showWaiting(" 开始下载... ");
var options = {
filename: "_doc/update/"
};
var dtask = plus.downloader.createDownload(wgtUrl, options, function(d, status) {
if (status == 200) {
console.log("下载wgt成功:" + d.filename);
setTimeout(installWgt(d.filename), 2000); // 安装wgt包
} else {
console.log("下载wgt失败!");
plus.nativeUI.alert("下载更新资源失败!");
}
});
dtask.addEventListener("statechanged", function(task, status) {
switch (task.state) {
case 1: // 开始
w.setTitle(" 开始下载... ");
break;
case 2: // 已连接到服务器
w.setTitle(" 开始下载... ");
break;
case 3:
var a = task.downloadedSize / task.totalSize * 100;
w.setTitle(" 已下载" + parseInt(a) + "% ");
break;
case 4: // 下载完成
w.close();
break;
}
});
dtask.start();
}
撒网要见鱼
确实有用!
顶下!
2015-11-06 14:21
LFZ
这个是有bug的
2015-12-03 16:27