问题标签 [angular-observable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - Angular 4 中 DELETE 方法的 net::ERR_EMPTY_RESPONSE 错误?
我正在使用以下方法删除数据
但是net:: ERR_EMPTY_RESPONSE
当我在 POSTMAN 中运行它时,它也被成功删除。
请指导
angular - Promises 和 Observables 有什么区别?
Promise
Angular和Angular有什么区别Observable
?
每个例子都有助于理解这两种情况。我们可以在什么情况下使用每种情况?
angular - 为什么我们应该在 Angular 中使用 subscribe() 而不是 map()?
我试图利用 angular2 中的 observables 并且对我为什么应该使用map()
over感到困惑subscribe()
。假设我从 webApi 获取值,像这样
现在使用subscribe(success, error, complete)
我可以获取成功回调的所有值,并且可以返回完整回调的值。如果我可以完成所有这些功能,那么需要map()
什么?它有什么好处吗?
简而言之,为什么要这样写:
当他们可以在没有 map 函数的情况下简单地编写它时:
angular - HTTP 错误处理如何与 observable 一起工作?
我看到很多教程都在做这样的事情:
我不知道这是如何工作的,因为没有任何类型或任何东西,但是我自己尝试这样做,结果即使我有错误,请求也总是成功。问题是什么?
麻烦制造者:
memberService 中的 Create-Method:
我什至发现了错误,但这subscribe
部分似乎并不在意。它在 处失败success.json()
,因为如果有错误,则没有json
。但是如果有错误,我希望它调用error =>...
而不是success
. 任何建议都将受到高度赞赏。
angular - 如何更新我的订阅数据?
我有一项服务可以对休息 api 进行一些 http 调用。在我的组件上,我订阅了它。如何在不重新调用服务的情况下更新订阅中的数据?
angular - 订阅后 SwitchMap 上的 Forkjoin 未返回
我正在编写一个 Observable,它将从服务器获取用户,并试图通过仅获取唯一用户然后缓存它们来提高性能。在返回所有用户后,我还使用 forkjoin 更新用户数组。
首先,我使用服务调用从服务器获取用户:
这使用以下函数返回对象的可观察对象,具体取决于对象是否存在于缓存中或是否需要从服务器中检索。
调用该服务的组件上的代码如下:
我遇到的问题是 ForkJoin 永远不会返回,即使我可以验证 getUserById 调用正在运行完成并返回一个值。我很困惑,尽管我不完全确定它们的区别,但我已经尝试了 switchmap 和 flatmap。
** 编辑 **
getIdToken 的代码如下
我已经确认该程序确实上线了:
观察者.next(session.getIdToken().getJwtToken());
因此,观察者未完成似乎不是问题
angular - Angular 2:如何创建删除服务,但只是将状态更新为非活动状态
顺便说一句,我是 Angular 的新手。
我有一个删除按钮,它向用户显示一个关于是否真正删除员工的确认对话框。当用户选择 YES 时,前端会将员工 ID 传递给后端,服务应该只更新员工并向前端返回 FALSE 或 TRUE。
deleteEmployee()
问:我的 in service (Observable) 中正确的内容应该是什么?
我的服务文件中有这些代码
和这个:
angular - 按顺序执行多个异步路由守卫
我知道当 canActivate 函数返回一个简单的时,角度路由守卫按指定的顺序执行boolean
,但是,如果守卫返回类型Observable<boolean>
或Promise<boolean>
?
路线示例:
SessionExpiredAuthGuard 和 CheckoutAuthGuard 都返回 type Observable<boolean>
。我不希望在 SessionExpiredAuthGuard 完成从异步 http 请求中检索其数据之前执行 CheckoutAuthGuard。
有没有办法强制这些异步守卫按顺序执行?
angular - 创建为所有组件提供单例服务的子模块
我正在尝试使用共享服务的组件制作一个模块。一个组件(graphview)订阅了一个 BehaviorSubject 的 observable。另一个组件 ( chart-type ) 稍后通过调用服务 ( chart-config ) 中的函数来更新 BehaviorSubject。问题是服务调用何时不ChartTypeComponent
更新。我假设正在使用该服务的多个实例,但我不确定如何修复它。.next(data)
GraphviewComponent
GraphModule
(它们的父模块)在声明中具有ChartTypeComponent
和在提供者中。GraphviewComponent
ChartConfigService
chart-config.service.ts看起来像:
graphview.component.ts导入服务和订阅。它不提供服务。
和
chart-type.component.ts仅导入服务,并调用 chartconfigService.updateChartConfig :
和
我找到了相关的问题和答案:
委托:Angular2 中的 EventEmitter 或 Observable
Angular2 Observable BehaviorSubject 服务不工作
但我无法弄清楚我做错了什么。如何在调用 updateChartConfig 时让graphview.component.ts更新?
注意:所有调用/方法/等都有效,并且在调用 updateChartConfig() 后this._chartconfig.next(data).getValue()
显示 BehaviorSubject 正在服务中正确更新。graphview.component.ts 根本没有接收到新数据。
更新:
GraphviewComponent
将s ngOnInit()更改为的结果
在控制台中生成:
但是在 OnInit 之后永远不会触发(当ChartTypeComponent
调用 updateChartConfig() 时)。
更新 2: 很明显根是在注入服务,而不是 GraphModule:
我仍然希望子模块提供服务,以便它包含在子模块中。
angular - angular2 中 api 请求的 observables
嗨,我正在实施一个 observable 来获取我的技能 api,但我目前在映射请求的数据时遇到了问题。我的数组在请求结束时保持为空,我认为我的问题出在 extractData() 中。
这是我的服务:
这是我的 .ts 我调用我的服务
这是我的 api 技能返回的结果:
我很感激帮助解决这个问题。