抓取流很棒,但不适合测量上传/下载进度
在网页开发中,我们经常需要获取或发送数据。而为了获取数据,最常用的方法莫过于使用Fetch API。Fetch API是一种现代的技术,可以让我们以一种优雅、简洁的方式发送和接收数据。然而,值得注意的是,虽然Fetch API在获取数据方面表现优异,但在测量上传/下载进度方面,它并不适用。
在过去,我们经常使用XHR对象来处理上传/下载进度。通过监听XHR对象的progress事件,我们可以实时获取数据传输的进度,并在界面上展示出来。然而,对于Fetch API,却没有类似的progress事件可以使用。
根据Jake Archibald的文章,在传输数据时,Fetch API会返回一个ReadableStream对象,而不是像XHR对象那样返回一个用于监控进度的对象。因此,我们无法直接通过Fetch API来测量上传/下载进度。
不过,我们也不必担心,因为Jake Archibald也提供了一些解决方案。比如,我们可以考虑使用Fetch API以及其他技术,比如Fetch Progress和Service Worker。通过结合这些技术,我们可以实现类似XHR对象的进度监控功能。
总的来说,虽然Fetch API在获取数据方面表现优秀,但在测量上传/下载进度方面并不适用。不过,通过结合其他技术,我们仍然可以实现类似的功能。让我们一起探索这些技术,让我们的网页开发变得更加完美!
了解更多有趣的事情:https://blog.ds3783.com/