【发布时间】:2016-08-12 17:04:21
【问题描述】:
我正在使用 JS Promise 重构我们的 JS API。但是我遇到了一个问题,阻止了我更进一步。
基本上,我们的 API 之一是发出异步 GET 请求并下载大文件。
所以API的用法是这样的:
var callback = {
success: function(data){...},
failure: function(data){...}
}
Test(token).download(url).then(callback.success, callback.failure);
Test 函数向 url 发出 XHR 请求并调用 onload 和 onerror 事件处理程序中的回调函数。
问题是在下载过程中,需要刷新UI,即进度条,在onprogress中处理。
callback.success 只会在 Promise 被解析时被调用一次。那么我应该如何实现应该在Test函数内部XHR组件的onprogress事件处理程序中调用的UI刷新回调呢?
【问题讨论】:
-
创建多个独立的 Promise。
-
@zerkms 但我只想发出一个下载请求并下载一个文件。
标签: javascript ajax xmlhttprequest promise