当我在一个项目中使用Angular 和RxJ像护身符一样时,我对自己提出了一个明智的问题.

当我们定义一些观察量,然后在rxjs中以react 的方式链接时,让我们说

clickEventA = new Subject();

clickEventB = new Subject();

a$ = this.clickEventA.asObservable().pipe(tap(_ => console.log('you clicked A')));
b$ = this.clickEventB.asObservable().pipe(tap(_ => console.log('you clicked B')));

c$ = combineLatest([this.a$,this.b$]).pipe(
   tap( v => console.log(v))
)

所以我的问题很简单,我没有在这里订阅任何流媒体,我不想订阅!在这种情况下,RxJ在引擎盖下做什么.

存储了多少数据,获得的事件数量不多的可观测数据是否会自由运行?最后一次emits 后会发生什么!!??

我是react 式编程和rxj的新手.

推荐答案

所以我的问题很简单,我没有在这里订阅任何流媒体, 我不想!在这种情况下,RxJ在引擎盖下做什么.

对于您的示例,它只是实例化数据 struct

存储了多少数据

表示内存中的数据 struct 需要多少时间.

就是观测到的事件不是那么多 随意地表演吗?

你对绩效的衡量标准是什么?速度?内存使用情况? 可观测对象可能比promise 慢,并且可能会消耗更多内存

最后一次emits 后会发生什么!!??

对于你的例子?没什么!没有排放物.如果会有emits ,并且所有订阅者都会正确地取消订阅,那么周围只会有初始化的数据 struct ,垃圾收集器会处理这些 struct .

Angular相关问答推荐

如何将CDkDropList与Angular FormArray和FormGroup一起使用?

如何在自定义验证器中获取所有表单控件(字段组动态创建)

在Angular 为17的独立零部件中使用@NGX-平移

Angular 17:延迟加载带参数的独立组件?

Angular react 形式验证问题

Primeng:安装ANGLE 16.2.0版本

基于RxJS的Angular 服务数据缓存

Angular 单位测试表

如何在运行Angular应用程序的容器中访问Docker容器?

Angular 按钮指令错误地附加子元素

Angular:为什么在我的自定义 ErrorHandler 中订阅主题不触发?

Renderer2.appendChild 没有按预期工作?

无法推送 Angular 项目 - Github

缺少 .angular-cli.json 文件:Angular

angular 2模板使用console.log

将外部 CSS 加载到组件中

Angular7 中的 CORS 策略已阻止源http://localhost:4200

在 Angular 2 中使用逗号作为列表分隔符

如何导航到同级路由?

ng-template 上的 *ngFor 不输出任何内容