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

时间:2017-05-23 18:35:20

标签: angular ionic-framework angular-http

我有一个基于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
});

如果我在.subscribe()函数中使用.map()而不是getData(),我会尽快访问响应标头,但它会返回订阅无法订阅,因此我无法使用该函数返回我目前所处的位置。

0 个答案:

没有答案