问题标签 [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.

0 投票
2 回答
573 浏览

angular - Angular http - 带有条件退出的链式 Observables

我有一种情况,我的应用程序需要从后端获取一些数据,然后对这些数据进行几个处理步骤。我要实现的是

如果后端没有发送有效数据,我想退出处理链而不执行任何步骤,只返回一个Observable.of(null)

哪个是实现这种逻辑的优雅方式?

0 投票
0 回答
19 浏览

angular - 继承 Typescript 中的 Observable 主题

我在继承的 Typescript 中使用 Subject 和 Observable。

他们是基类 -

这是继承类

由于预期的结果是 -

问题是 - val 和 val1 只能访问 TS 文件。我没有进入 UI,即在 HTML 中出现{{val}} {{val1}}默认值。

任何帮助将不胜感激。

0 投票
1 回答
23 浏览

angular - Getting a data from a service which is populate through a service call in angular 2

I have a service as UserService which gets data on its constructor function, it then populates its property of _userData through a promise, here is the service :

Now , I want to get userData in another component, this is how I tried :

now I understand why this doesn't work as , I am not wating until the promise returns _userData in the user Service. I read some on Observable but I am not quite sure if I want to use them and how exactly I can use them in this scenario.

Seems like I would have to change my getUserInfo function in my userService if I want to use Observables

Is there a better way I can do this , without refactoring my code too much

0 投票
1 回答
296 浏览

angular - 无法将数据订阅到变量中

我是使用 Observables 的新手。所以这是我的代码

我的问题是,当我在订阅中打印 recipeList 时,我得到了食谱,但是当我在其显示未定义之外打印时。如何将数据保存到 recipeList 以便我可以在其他方法中访问它。

0 投票
3 回答
922 浏览

angular - 仅当用户在 Angular 2+ 中登录或注销时如何显示元素?

我正在开发一个 Angular 2+ 应用程序。我发现在 AngularJS 中实现相对简单的东西非常困难。

我希望我的顶部导航LOG IN在用户未登录和登录时显示一个按钮LOG OUT

我一直在尝试各种事情,但我无法让它正常工作。我希望它在整个应用程序中始终如一地工作,并且无论重新加载(它存储isLoggedInlocalStorage


我目前的实现根本不起作用,但我会在这里分享它,这样你就可以告诉我我是否至少在正确的轨道上某个地方。

顶部导航.component.html

顶部导航.component.ts

auth.service.ts

0 投票
0 回答
672 浏览

json - Angular 4:用 json HttpClient 响应填充复杂模型

我正在尝试使用新的 API 调用的响应来填充模型HttpClientModule。但是,模型的属性不是“json 类型”而是复杂类型。

您是否知道我getByIdgetAll方法和ReferenceService返回的方法如何Observable匹配真实Reference对象而不仅仅是 json 对象?

这是我想做的一个例子。

谢谢 !

`

0 投票
3 回答
790 浏览

angular - 我可以使用主题来制作自定义异步验证器吗?

我有没有机会通过一个主题来实现这一目标?暂时我只是通过一个承诺来实现这一点。所以我调用了 resolve 方法,它工作正常。

我试图做以下事情。

在这里,我试图在值为 test@test.com 时发出事件,否则为 null,因为 Angular 中的文档说关于验证器。我试图模拟让我们说一个后端服务,这就是我实现 setTimeout 功能并给出 2 秒超时的原因。现在的问题是,当我检查放置验证器(电子邮件输入元素)的输入元素时,ng-pending总是会显示类。所以,出于某种原因,我没有订阅它,我知道。但我怎么能?

这是我在 FormGroup 中调用验证器的地方。

0 投票
1 回答
2438 浏览

javascript - RxJS 如何使用默认错误处理函数返回 Observable

在我的应用程序中,我有一些返回 Observable 的方法:

然后我在我的应用程序周围的几个地方调用这个方法:

我想知道是否有办法在里面myMethodReturningObs(...)附加一个默认的错误处理函数,在我的例子中是 console.log('Error!');,所以我每次订阅 Observable 返回时都不必重复它myMethodReturningObs(...)

理想情况下,我需要类似的东西:

那么我可以这样做:

0 投票
1 回答
9016 浏览

typescript - 期望的对象是一种 ScalarObservable,但是是 Observable

在我的 Angular 应用程序中,我通过以下方式使用 Observables:

我对它进行了单元测试:

它工作得很好。

但是,如果我尝试使用以下方法向我的方法添加默认错误处理逻辑getItem()catch

它仍然可以正常工作,但现在测试失败了,说:

预期的对象是一种 ScalarObservable,但它是 Observable({ _isScalar: false, source: ScalarObservable({ _isScalar: true, value: 'mock', scheduler: null }), operator: CatchOperator({ selector: Function, caught: }) })。

这是什么意思?为什么会这样?我该如何解决这个问题?

0 投票
1 回答
444 浏览

javascript - How to unit test the catch body of my Observable

In my Angular application, I'm using Observables in the following way:

and I unit test it:

However, I don't know how to unit test the CATCH BODY, how can I mock the observable to throw an error?

I know similar questions have been asked already, but my case is slightly different and I couldn't succeed in unit testing the catch part.