账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    JS如何监听多文件的下载进度?
    • 2018-01-10 00:00
    • 11
    23
    0
    1. 首先项目用的是nw.js打包运行的, 所以不能像平时那样能在底部直接显示 下载详情状态栏;
    2. 目前是用户通过点击 <a href="xx科目,第X节课程.mp4" download> 视频x </a> 来下载, 可是这样如何去获取下载状态呢?

    3.有了解到 xhr2 直接用 onprogress 去监听下载进度 , response 保存为 blob, 然后再转为本地 ,但是,一个视频平均1G,用户同时下载多个视频的话,内存不就爆了吗?

    请问各位有什么解决方案呢

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 黒色ン诱惑灬 普通会员 1楼

      在JavaScript中,我们可以使用Promise.all()函数来监听多文件的下载进度。这个函数可以同时处理多个Promise,直到所有Promise都成功或者都失败。

      以下是一个简单的示例:

      ```javascript const promises = [ downloadFile('file1.txt', 'https://example.com/file1.txt'), downloadFile('file2.txt', 'https://example.com/file2.txt'), downloadFile('file3.txt', 'https://example.com/file3.txt') ];

      Promise.all(promises) .then(() => { console.log('All files downloaded successfully'); }) .catch((error) => { console.error('Error downloading files:', error); }); ```

      在这个示例中,我们首先创建了三个Promise,分别代表三个不同的文件下载任务。然后,我们使用Promise.all()函数来等待这三个Promise都成功或者都失败。如果任何一个Promise失败,Promise.all()函数会拒绝当前Promise,并阻止后续的Promise。如果所有Promise都成功,Promise.all()函数会返回一个Promise,这个Promise在所有其他的Promise都成功后被解析。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部