Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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
Angular 在不等待整个响应的情况下获取响应的内容长度?_Angular_Ionic Framework_Angular Http - Fatal编程技术网

Angular 在不等待整个响应的情况下获取响应的内容长度?

Angular 在不等待整个响应的情况下获取响应的内容长度?,angular,ionic-framework,angular-http,Angular,Ionic Framework,Angular Http,我有一个基于Ionic 3.x.x的应用程序,它有一些API调用,我在其中发出HTTP请求;这些请求响应的数据量根据用户请求的数据类型有很大差异;由于响应上有很多数据,下载它需要一段时间,我想阅读响应标题,以便向用户显示实际下载了多少数据 目前的问题是,只有在接收到整个响应之后才能访问响应头,因此这没有帮助 进行API调用的函数是一个简单的请求,作为服务的一部分实现: getData(...){ let headers = new Headers(); headers.appen

我有一个基于Ionic 3.x.x的应用程序,它有一些API调用,我在其中发出HTTP请求;这些请求响应的数据量根据用户请求的数据类型有很大差异;由于响应上有很多数据,下载它需要一段时间,我想阅读响应标题,以便向用户显示实际下载了多少数据

目前的问题是,只有在接收到整个响应之后才能访问响应头,因此这没有帮助

进行API调用的函数是一个简单的请求,作为服务的一部分实现:

getData(...){
    let headers = new Headers();
    headers.append('Content-Type', 'application/json');

    ...

    return this.http.get(url, { headers: headers }).map(data => {    
        return data;
    }).catch(error => {
        return Observable.throw(error.status);
    });
}
由另一个函数调用,在别处定义:

this.web.getData(...).subscribe( data => {
    ...do stuff with data here
});

如果我在
getData()
函数中使用
.subscribe()
而不是
.map()
,我将尽快访问响应标题,但它将返回无法订阅的订阅,因此,我不能在当前使用函数的返回值。

服务应该返回
长度作为第一个属性。您可以扩展该解释吗?