首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >angular 9映射httpClient.Get问题

angular 9映射httpClient.Get问题
EN

Stack Overflow用户
提问于 2020-03-10 17:46:12
回答 1查看 67关注 0票数 0

在angular 4中,我们有一个泛型方法,它基本上将URI扁平化:

代码语言:javascript
运行
复制
return Observable.forkJoin(fullUri, requestOptions)
            .flatMap((results: [string, RequestOptions]) => this.http.get(results[0], results[1]))
            .map(this.extractData)
            .catch(this.errorMapperService.handleError);

现在在Angular 9中,RequestOptions已被弃用,httpClient.get现在在第二个参数上返回许多对象。

所以我现在有:

代码语言:javascript
运行
复制
return forkJoin(fullUri, requestHeaders)
      .pipe(flatMap((results: [string, any ]) => this.httpClient.get(results[0], { withCredentials: true, headers: results[1] })))
      .pipe(map(this.extractData))
      .pipe(catchError(this.errorMapperService.handleError));

但在我的flatMap上,当我映射回any时,它不能正确展平。如果我把'any‘改成HttpHeaders,它就不能编译。谁能告诉我我应该把这个展平到什么程度?

EN

回答 1

Stack Overflow用户

发布于 2020-03-10 18:00:27

forkJoin接受一些可迭代的可观察对象,并等待它们完成。如果看不到fullUrirequestHeadersforkJoin就会抱怨。

要像以前那样发出单个http请求,只需将mapcatchError链接到http.get可观察对象。

代码语言:javascript
运行
复制
const options = { withCredentials: true, headers: requestHeaders };
return this.httpClient.get(fullUri, options).pipe(
  map(this.extractData),
  catchError(catchError(this.errorMapperService.handleError))
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60615005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档