Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >angular 9映射httpClient.Get问题

angular 9映射httpClient.Get问题
EN

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
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 10:00:27

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

复制
相关文章
9-angular 要点温习-2 高阶知识
注)template:自定义标签模板,当其值长度过大时,可以用templateUrl代替,即把模板指向一个独立的HTML文。如果想保留模板内的标签,只需加上即可。
西南_张家辉
2021/02/02
4390
angular2 路由问题
Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'main' 这个问题的处理很简单,是路由的路径写错了, import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import {loginComponent} from './login/login.component'; impor
杭州前端工程师
2018/06/15
1.2K0
算法笔记:矩阵映射问题
当A在0,B在1,记为(0, 1),当A在1,B在0记为 (1, 0)。可得一个矩阵对数字的映射如下:
超级大猪
2019/11/22
8430
手工将项目升级至 Angular 9 记录
Angular 最近发布了 9.0 版本, 需要先将一个模板项目升级至新版本。 虽然它提供了 ng update 命令来升级, 但是这个命令会自动调整 package.json 文件依赖项的顺序, 导致向其它项目合并时产生不必要的冲突。 为了不打乱现有的依赖项的顺序, 容易向其它派生项目进行合并, 同时也能明确知道究竟那些文件需要修改, 因此采用手工升级的办法。
beginor
2020/08/10
1.8K0
angular9 添加IE浏览器支持
默认模板没有启用IE浏览器支持 ng serve启动项目后,用IE浏览器打开为空白页 解决 修改browserslist,去掉前面的not not IE 9-11 # For IE 9-11 support, remove 'not'. 修改src/polyfill.ts,取消以下两行注释 import 'classlist.js'; import 'web-animations-js'; 安装依赖 npm install --save classlist.js npm install --save web
路过君
2020/06/19
8000
Docker映射详解,没问题了!
这里我们以Tomcat为例子,我们看看如何在外部通过Docker端口映射来访问宿主主机里面的Tomca。
程序员的时光001
2020/09/21
7K0
Docker映射详解,没问题了!
Angular-内存溢出的问题
本项目用的是angular6搭建,用动态组件的形式来显示页面,之前遇到过因为内存溢出而导致无法aot的问题,
jwangkun
2021/12/23
2.4K0
Reactor 之 flatMap vs map 详解
我理解是把一个数据执行一个方法,转换成另外一个数据。举个例子:mapper 函数把输入的字符串转换成大写。map()方法执行这个 mapper 函数。
伍六七AI编程
2022/08/23
1.8K0
Reactor 之 flatMap vs map 详解
augular 英雄之旅
组件是 Angular 应用中的基本构造块。 它们在屏幕上显示数据,监听用户输入,并且根据这些输入执行相应的动作。 像一组html的集合,可与用户交互,可复用, 创建好的项目的src目录下有个app目录,这是整个程序的根组件 app.component.ts— 组件的类代码,这是用 TypeScript 写的。
刘嘿哈
2022/10/25
1.7K0
Angular 11 正式发布,放弃对IE 9、10的支持!
WEB前端三大主流框架之一:Angular 11.0.0 于光棍节后正式发布。这次版本更新包括了框架、CLI及其他组件,内容不少,废话不多说,直接上干货。
程序猿DD
2020/11/24
2K0
Angular 11 正式发布,放弃对IE 9、10的支持!
Angular 服务
本节课的重构完成之后,HeroesComponent 变得更精简,并且聚焦于为它的视图提供支持。这也让它更容易使用模拟服务进行单元测试。
HoneyMoose
2019/05/31
3.3K0
点击加载更多

相似问题

Angular httpclient.get返回undefined

124

Angular 8到Angular 9迁移问题

10

Coldfusion 9 ORM映射问题

20

角HttpClient.get方法的问题

10

Angular 9:路线导航参数问题

315
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文