问题标签 [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 回答
524 浏览

angular - 使用 subscribe 处理后 Angular 返回 Observable

在 Angular 5 中,我需要进行 HTTP GET 调用,处理输出,然后将处理后的输出作为 Observable 本身返回。我真的很困惑如何做到这一点。我目前正在像这样获取/处理数据:

所以现在我想barcodes作为Observable<string[]>

0 投票
1 回答
2740 浏览

angular - 两种方式的数据绑定在Angular中的订阅不起作用?

我正在订阅 Angular 中的一个主题,在值更改时,我正在尝试更改组件中的变量值。在控制台中,该值显示更新,但在视图(HTML)上,它没有。

服务.ts

app.component.ts

app.component.html

我相信,如果相同的值在控制台中发生变化,它也应该反映在视图部分。在其他问题上,它说,我错过了这个上下文,但是控制台中的值正在更新,所以我相信我没有错过这个上下文。

编辑:我在 5 秒后尝试记录标题,它突然在视图上改变。仅记录值如何在视图上更改它?

0 投票
1 回答
54 浏览

angular - 在 angular2 中使用异步服务(观察者)

Angular2\ES6:我正在尝试构建一个页面(模型),其中包含一组过滤器,这些过滤器应该从服务(异步)获取它们的数据 - 每个过滤器调用一次。该模型包含 2 个主要类:ReportReportFilter报告可以包含多个报告过滤器(过滤器: ReportFilter [] = [];),并且每个reposrtFilter都是从服务填充的。我已经尝试使用 observbles 进行所有异步操作,但最终结果是过滤器中仍然没有数据(服务可靠并返回数据),在构造主 Report 类实例时(这应该是起点) . 任何支持将不胜感激!查看我的代码:这是报告类:

这是报告过滤器:

这是我从组件中的初始调用:

0 投票
1 回答
563 浏览

javascript - Angular 管道内用于 HTML 过滤的可观察请求

我知道有异步管道,使用可观察对象可以订阅并在更新时获取值。

我正在尝试创建一个简单的管道,它将使用其代码获取分类器的翻译,但它使用 observable 来实现,因此它是异步的。我可以以某种方式等待 aync 操作完成然后返回结果吗?什么是最佳方式?我不认为异步管道是我正在寻找的,因为它基本上是一个具有自己的 HTML 的组件。

代码

我想在 HTML 中使用以下管道,如下所示

我怎么能从管道中解决这个问题,它会得到这个值。

0 投票
2 回答
8324 浏览

angular - 如何使用 Angular 在一个函数上调用多个 API?

我需要在一个函数上调用 4 个不同的 API,该函数需要一个接一个地执行,因为我之前的 API 结果将使用下一个调用作为参数。例如:我有一个 geo Ip 的调用 API,然后我需要调用另一个 API,我需要传递从第一个 API 调用中获得的 lat 和 long。

如何在 Angular 4 上完成此任务?

我听说过一些方法,比如 flatmap 和 forkjoin。请问这个方法可以用吗?(我没有任何代码,因为我有点困惑)。

0 投票
2 回答
5863 浏览

angular5 - Angular5 HttpInterceptor 取决于 Observable 的结果

我正在尝试使用 Angular5HttpInterceptor在所有 HTTP 请求中注入 Authorization 标头来实现。

我依赖第三方库(ADAL,这里称为AuthService),它公开了一种acquireToken()方法来获取用于承载授权的令牌。

问题是aquireToken()返回一个可观察的,我必须订阅才能获得我需要的真实字符串。

因此,我的代码从不注入标头,我想是因为在返回任何值next.handle()之前执行。acquireToken()

如何确保仅在检索到令牌后才调用下一个处理程序?

0 投票
0 回答
260 浏览

angular5 - Angular 5 HttpClient - 一个获取、一个转换和一个帖子,无法让它工作

我尝试了各种排列。我要做的是执行 get 以通过 Id 检索对象,然后修改该对象的属性,然后将其发布回来,这样我就可以有效地更新对象。

这是我尝试过的:

结果:错误类型错误:您在预期流的位置提供了无效对象。您可以提供 Observable、Promise、Array 或 Iterable。

错误类型错误:无法在布尔值“false”上创建属性“id”和

错误类型错误:您在预期流的位置提供了无效对象。您可以提供 Observable、Promise、Array 或 Iterable。

完整的错误:

我只是似乎无法正确地绘制地图,如果我将地图拿出来,它可以工作,但是没有意义。我也尝试将各种地图结果转换为可观察对象,但似乎 API 看穿了我的诡计,并继续抛出相同的错误。

谁能告诉我这应该如何工作?

编辑我一直在玩它 - 这是最新的化身:

console.log(a.constructor.name) 返回“object”——非常有用

console.log(a) 返回

这个控制台输出

0 投票
2 回答
1209 浏览

angular - Angular订阅登录服务并从登录用户获取特殊字段

我在用户模型中有布尔字段,我需要在用户按下提交后立即在登录页面上打开一个模态窗口,并在我检查 user.user_on_test 字段后从服务器获取信息并仅在它为真时打开模态窗口。你能帮我从回复中提取这些信息吗?

这是我的 user.service

和 login.component:

0 投票
1 回答
6738 浏览

angular - 如何更新 Angular Observable 的订阅者

在我的 Angular 应用程序中,我创建了一个 Observable 来为多个组件提供数据更新。当用户单击一个按钮时,Observable 的所有订阅者都应该使用不同的数据集进行更新。下面是代码。

}

在按钮单击事件中,我执行以下操作

我的问题是,这是管理 Observable 订阅者的最佳方式吗?有没有其他方法来处理订阅者而不是我们自己管理它们?

0 投票
2 回答
51 浏览

firebase - 将 http 响应分配给 Observable

我所做的是创建云功能而不是这样做:

哪个有效,但我创建了一个云功能,现在我想做的是:

console.log 向我显示了正确的列表,但没有呈现响应我在这里做错了什么?

这是模板: