rxjs 相关问题

JavaScript的Reactive Extensions(RxJS)是一组库,用于使用可观察集合和Array Extras样式组合来编写异步和基于事件的程序。

在服务器端渲染的 Angular 应用程序中使用 rxjs 间隔时如何解决水合错误?

我有一个 Angular 17 服务器端渲染应用程序,它使用 rxjs 间隔定期调用 API GET 端点。代码是这样的: 间隔(5000).管道( 开始于('

回答 1 投票 0

包装一个可观察对象。在每个发出值之前和之后做一些事情

我想构建一个包装类,它在 Observable 的每个发出值之前和之后执行一些操作。 这是我想出的: 包装类 { 包装$:可观察...

回答 6 投票 0

在状态服务主题中存储悬停元素不会在订阅时发出任何数据 - 我做错了什么?

我有一个项目,其中包含日历、悬停指令和有状态的通信服务。我对我在这里所做的工作做了一个更简单的表示: https://stackblitz.com/edit/

回答 1 投票 0

Paypal 按钮在大约 50% 的时间内无法加载。角

我有一个带有贝宝按钮的页面,但有一半时间无法加载。我刚刚连续刷新了30次页面。连续交替工作9次,然后连续11次没有加载......

回答 1 投票 0

根据最后发出的值完成 Observable

在我的应用程序中有大量的多步骤过程。想象一下类似的事情 “打开文档进行编辑,可以通过多种方式之一更改文档的状态。 用户是 a) 到...

回答 1 投票 0

创建一个 rxjs 管道,根据类型组合值,然后在 concatMap 中异步处理它们

我有一个 eventStream,它接受各种类型的事件并处理它们(通过 HTTP 将它们发送到服务器)。 从 'rxjs' 导入 { from, Observable }; 从 'rxjs/operators' 导入 { concatMap }; ...

回答 1 投票 0

具有 RxJs 值的 Angular Services 变量是正确的,但在函数调用时为 null

我有这项服务: @Injectable({ 提供于: 'root', }) 导出类BackgroundLayersService { 私人mapSubject =新BehaviorSubject(null); 地图$:可观察 我有这项服务: @Injectable({ providedIn: 'root', }) export class BackgroundLayersService { private mapSubject = new BehaviorSubject<Map | null>(null); map$: Observable<Map | null> = this.mapSubject.asObservable(); constructor(private mapService: MapService) { this.mapService.map$.subscribe((map: Map | null) => { console.log('Map updated in BackgroundLayersService:', map); this.mapSubject.next(map); }); } public map: Map | null; changeLayer(input: any) { console.log('test'); console.log(this.map); } } 它从另一个服务加载“地图”,这是另一个服务: @Injectable({ providedIn: 'root', }) export class MapService { constructor(private store: Store) { } @ViewChild('mapId') mapContainer: ElementRef; private mapSubject = new BehaviorSubject<Map | null>(null); map$ = this.mapSubject.asObservable(); initializeMap(): void { this.setMap( L.map('mapId', { layers: [], }).setView([1, 1], 6) ); } } 调用 setMap 时,第一个服务的构造函数控制台会记录正确的值。 然而,当调用changeLayer时,控制台日志显示map的值为null。 我不明白这是为什么,而且我似乎无法将此映射值传递给其他组件或服务。将不胜感激任何帮助。 相关信息:在调用changeLayer之前,this.map已更新为正确的值。 initializeMap 设置地图: initializeMap(): void { this.setMap( L.map('mapId', {} ); } 发生在这里: init = () => { this.mapService.initializeMap(); this.mapService.map$.subscribe((map) => { this.mapInstance = map; }); } 这里来自 subscribe 的 map 值也是正确的,稍后在组件中使用了 map 值并且不为 null。 这里运行无限循环,当您订阅行为主题时,订阅代码将被触发,如果您不希望它在第一次加载时触发,您可以使用主题,在其中调用 next 方法订阅,这会再次调用subscribe,然后next等等,请先摆脱无限循环! 所以无论设置什么值,我猜都会被无限循环删除!另一种选择可以如下所示! @Injectable({ providedIn: 'root', }) export class BackgroundLayersService { private mapSubject = new BehaviorSubject<Map | null>(null); map$: Observable<Map | null> = this.mapSubject.asObservable(); constructor(private mapService: MapService) { this.mapService.map$.subscribe((map: Map | null) => { // <-- infinite loop console.log('Map updated in BackgroundLayersService:', map); if(map) { // this if condition gets rid of the infinite loop! this.mapSubject.next(map); // <-- infinite loop } }); } public map: Map | null; changeLayer(input: any) { console.log('test'); console.log(this.map); } }

回答 1 投票 0

我应该在 RxJ 和 Angular 中为主题使用“$”符号后缀吗?

所以我有一个关于 RxJs 代码和 Angular 中 $ 符号后缀命名约定的问题。 在角度最佳实践文档和总体中,我发现我们应该使用 i...

回答 4 投票 0

是否自动处理 Angular/RxJS Observables 的取消订阅

我听说 Angular 会自动处理它自己的 Observables 的取消订阅,因此不需要手动取消订阅 observables。 我留下的印象是...

回答 1 投票 0

Reactivo 编程练习

我有一个可观察的源,当您单击时会发出。我想制作一个像下一个弹珠图一样发出的运算符...... 也就是说,它在第一次单击时发出。然后,当你...

回答 3 投票 0

使用 Angular 和 Highcharts 并希望使用 RxJS 中的 fromEvent 来实现 legendItemClick

我将没有数据的系列添加到我的 Highchart 图表中,该图表最初不可见。单击图表旁边的图例时,会触发一个事件并请求该系列的数据并显示...

回答 1 投票 0

Router.navigate() 在功能拦截器内不起作用

这是一个 Angular 功能拦截器,旨在管理应用程序使用期间可能出现的会话超时。 导出 const sessionExpiredInterceptor: HttpInterceptorFn = (req, next) => { c...

回答 1 投票 0

与应用于BehaviorSubject 相比,过滤器运算符应用于从运算符创建的 Observable 时的行为是否有所不同?

我用两种不同的方法定义了变量 person$ 和 source$: 方法 1:使用 BehaviourSubject 定义 person$: 接口 IPerson { 名称:字符串; 年龄:数字; } 常量人...

回答 1 投票 0

过滤运算符如何在由 from 运算符定义并由 BehaviourSubject 定义的变量中工作?

我用两种不同的方法定义了变量 person$ 和 source$: 方法 1:使用 BehaviourSubject 定义 person$: 接口 IPerson { 名称:字符串; 年龄:数字; } 常量人...

回答 1 投票 0

为什么过滤器操作符在 from 操作符中工作而不能与 BehaviourSubject 一起工作?

我用两种不同的方法定义了变量 person$ 和 source$: 方法 1:使用 BehaviourSubject 定义 person$: 接口 IPerson { 名称:字符串; 年龄:数字; } 常量人...

回答 1 投票 0

如何在Rxjs中对SubjectBehaviour变量使用过滤运算符?

我定义了一个Observable变量,如下所示: 接口 IPerson { 名称:字符串; 年龄:数字; } const person$ = new BehaviourSubject([ { 姓名:“阿米尔”,年龄:20 },...

回答 1 投票 0

“subject”数据库中的 Rxjs 关键字 - 未定义(读取“subject”)

我的http get 请求有问题。 API 响应有一个名为“subject”的属性,其中包含该项目的主题数组,当我尝试获取该数据时: 标识符.forEach(...

回答 1 投票 0

等待正在进行的 http 请求完成,然后再在 RXJS / Angular 中再次发送“相同”信息

以下场景。 (为社区进行简化和抽象)。 我有一个带有表单的 Angular 16 应用程序。 该表单包含许多输入字段 - 例如“firstName”、“surName”、“

回答 1 投票 0

在Angular下使用rxjs中的combineLatest()保留多个Observable<T>的类型?

当我的组件加载时,我需要使用两个服务。两者都需要完成才能继续。这些的完成顺序是随机的,不应连续组成。

回答 3 投票 0

Angular 无法在 ngOnInit 中获取本地存储值

我使用 Angular v17 遇到了一个奇怪的错误,我仍然是它的新手 首先我要从我的服务开始, 从 '@angular/common/http' 导入 { HttpClient }; 从 '@angula...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.