问题标签 [rxjs-observables]

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.

0 投票
3 回答
335 浏览

arrays - Observable to Array *ngFor 说 undefined

我是 Angular 的新手。我有一个 Node 和 Express 后端从 MS SQL 数据库中提取数据。如果我转到端点 URL,它会将我的数据显示为 JSON。我在本地主机上运行,​​所以我为 CORS 设置了一个代理。我有一个定义数据的类,一个从端点提取数据的服务,以及一个尝试将数组设置为等于从服务中提取的数据的组件。HTML 有一个 *ngFor,它应该循环遍历这些值并将它们显示在网格中。

如果我通过我的服务调用我的组件中的数据,那么 this.userService.getUsers() 并执行 console.log,我可以在浏览器控制台中看到记录集。我尝试将数组设置为等于 userService.getUsers() 然后调用该数组,我得到“未定义”。由于我是新手,所以我尝试按照英雄教程进行操作,但没有成功。我花了一天时间搜索谷歌并尝试了我遇到的不同解决方案,但它们都未定义。我将在此处附上代码。如果有人可以指导我一点,将不胜感激。

定义用户的用户类:

用户服务做 Http 请求:

显示用户组件 TS 文件:

显示用户组件 HTML:

任何帮助将不胜感激!

更新 在此处输入图像描述

0 投票
1 回答
318 浏览

angular - Angular 8升级 - 打字稿错误 - 类型'Observable>' 不可分配给类型 'Observable'

我有一个完美运行的代码(并且仍然运行完美)。当我从 angular 7 升级到 angular 8 时,我的 Visual Studio 代码开始显示 HttpClient.get 方法的错误。

错误出现在 HttpClient.get 方法的 catch 部分。代码编译良好并且工作正常。我检查了角度示例,一切看起来都正确。我不确定为什么编辑器显示问题。

这是我的编辑器显示的错误 -

如果我删除 .pipe 部分,那么错误就会消失。所以,它告诉我 catchError 部分有问题。

这是我的错误处理程序 -

0 投票
1 回答
54 浏览

angular - Angular routerLink 只触发一次 ngOnInit

我发现了几个与我类似的问题,但大部分与参数有关,答案并没有帮助我解决我的问题。基本上问题如下:一旦用户登录,用户就可以在导航栏中看到他/她的用户名,当他们点击它时,页面将用户带到个人资料页面,第一次完美运行,当用户注销并使用不同的用户名登录时,除非刷新页面,否则旧用户的信息仍然存在。

服务帐号

在初始化方法上

导航栏 HTML

有人可以帮我吗?

提前致谢。

0 投票
1 回答
667 浏览

javascript - 如何使用 debounceTime 按键获取 observable 的最后一个值

我的例子看起来像这样。我想通过键获得我提供给可观察对象的最新值,所以我的输出看起来像这样

我需要使用哪个运营商来实现这一目标?

0 投票
0 回答
267 浏览

angular - Observable 上的订阅如何以及何时自动取消订阅?

我想知道何时取消订阅可观察订阅。并且无需退订。有点难以理解订阅的概念。

我给你举个例子:

在这个电话中,我得到了一个 Observable。但是我被告知,在组件被销毁后,我需要手动“取消订阅”每个订阅。但没有人能清楚地解释原因。

此外,我总是得到使用 Pipes 的建议(我认为这很有意义,在处理多个相互依赖的异步调用时),但我想知道何时使用它,因为整个 pipe().take(1) 。 ..通话似乎很笨拙或像一种解决方法

我还阅读了有关Subscriptions RxJS的文档,这对我没有太大帮助,但要知道,“teardownLogic”将始终在.unsubscribe()之后应用

我还阅读了 RXJS observable 上的方法 .pipe() 和 .subscribe() 之间的区别

Angular/RxJs 我什么时候应该取消订阅“订阅”

两者都没有真正回答 RxJS / Angular 中订阅的“机制”

0 投票
1 回答
771 浏览

angular - Angular observable,如何遍历具有嵌套数组的对象以将字段收集到数组中

我正在尝试通过我的 JSON 对象并将特定字段添加到他们自己的数组中。

我正在尝试遍历下面的对象并将“appSupportedId”存储在它自己的数组中。

我收到一个错误

错误

我在我的代码中实现了类似的东西,但与后端 json 对象的唯一区别是下面的对象有一个嵌套数组

任何帮助,将不胜感激!

组件.ts

JSON对象

0 投票
1 回答
718 浏览

angular8 - 如何取消 RXJS Effects 中的 Angular http 请求

我想取消在角度 8 中的 RXJS 效果中发出的 http 请求。

请让我知道如何使用 angular 8 来做同样的事情。另外请注意,我将无法使用 switch map,因为多个小部件 angular 组件将使用不同的有效负载调用此操作。

0 投票
1 回答
40 浏览

rxjs - 可观察管道

我对可观察对象的管道有疑问

假设我有以下代码:

在第二张地图中,我需要 schoolId。如果不这样做,我如何获得 schoolId:

在这里,您可以尝试堆栈闪电战

0 投票
1 回答
40 浏览

angular - 循环访问来自 Angular 订阅的数据

对于从可观察对象循环数据的问题,我有一个不优雅的解决方案。我想知道正确的方法,因为这对我来说似乎不正确。

我正在使用来自 api 调用的响应动态创建表单

这是我的组件

这是我的模板

我的问题是,如果我不设置超时,表单组不会初始化,因此提交时不会出现任何内容,而且即使表单未完成,也会启用提交按钮。如何在不使用超时的情况下解决此问题?

0 投票
1 回答
979 浏览

angular - 如何将可观察对象组合为一个忽略 rxjs 中的错误

我有几个 observables 并想将它们组合成一个但想忽略那些发出错误的,我希望操作员为成功的 observables 发出值,即使其中一些发出错误。

我一直在寻找像 concat、forkJoin 这样的运算符,但是当发生错误时,它们会立即发出