Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在客户端上将HTTP.call与beforeSend一起使用?_Javascript_Meteor - Fatal编程技术网

Javascript 如何在客户端上将HTTP.call与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

Meteor最近的更新为http包添加了一个要使用的选项,允许我们访问客户端上的xhr对象。我有时上传或下载客户端上的大文件,我想有一个进度指标以及取消选项。不幸的是,我不能在上班前上班

问题

发送前正确的使用方法是什么和/或为什么我的代码不起作用

发生了什么

调用完全运行,但我的beforeSend函数从未执行

相关软件包

  • 流星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包,因为我需要这两个功能。