Javascript 如何在客户端上将HTTP.call与beforeSend一起使用?
Meteor最近的更新为http包添加了一个要使用的选项,允许我们访问客户端上的xhr对象。我有时上传或下载客户端上的大文件,我想有一个进度指标以及取消选项。不幸的是,我不能在上班前上班 问题 发送前正确的使用方法是什么和/或为什么我的代码不起作用 发生了什么 调用完全运行,但我的beforeSend函数从未执行 相关软件包Javascript 如何在客户端上将HTTP.call与beforeSend一起使用?,javascript,meteor,Javascript,Meteor,Meteor最近的更新为http包添加了一个要使用的选项,允许我们访问客户端上的xhr对象。我有时上传或下载客户端上的大文件,我想有一个进度指标以及取消选项。不幸的是,我不能在上班前上班 问题 发送前正确的使用方法是什么和/或为什么我的代码不起作用 发生了什么 调用完全运行,但我的beforeSend函数从未执行 相关软件包 流星1.2.1 http 1.1.1 aldeed:http 相关客户代码 httpProgress = function(xhr) { console.log
- 流星1.2.1
- http 1.1.1
- aldeed:http
httpProgress = function(xhr) {
console.log('I never see this');
xhr.onprogress = function(e) {
if (e.lengthComputable) {
setProgress((e.loaded / e.total) * 100, 'downloading...', true);
}
else{
setProgress(-1, 'downloading...', true);
}
};
};
HTTP.call('GET',url, {
beforeSend: httpProgress,
headers: {
'Accept': '*/*'
},
responseType: 'arraybuffer' //using aldeed:http here
}, function(error, result) {
...
}
);
Meteor关于beforeSend的文档
在客户端上,将在发送请求以允许之前调用此函数
要更直接地操作底层XMLHttpRequest对象,
将作为第一个参数传递。如果回调返回
false,将不发送请求
aldeed中的HTTP.call方法:HTTP包尚不支持任何beforeSend参数。您可以在源代码中查看它是的,它看起来像是aldeed:http中的一个bug谢谢。我应该想检查一下。我删除了aldeed包,并尝试使用我的代码,它运行良好。我现在必须修改aldeed包,因为我需要这两个功能。