标签: 响应式编程

5 个内容

笔记(5)

BehaviorSubject是RxJS中具有记忆功能的Observable,始终持有并广播当前值,适用于状态管理。需提供初始值,新订阅者立即获得当前值。源码通过`_value`属性存储当前值,并重写`_subscribe`方法。应用包括状态管理、表单联动等。需注意内存泄漏、过度触发等性能问题,并可与现代框架集成。

Elliot Yang·
161 浏览

竞态问题源于异步操作完成顺序不确定。RxJS用流式编程和操作符(switchMap, concatMap等)控制异步流程,但学习曲线陡峭。@tanstack/query通过queryKey自动合并请求、取消和缓存,声明式API更易上手,擅长服务端状态同步。混合架构结合两者优势,性能优化和错误处理至关重要。

Elliot Yang·
138 浏览

RxJS高阶映射操作符(mergeMap、concatMap、switchMap、exhaustMap)提供不同并发策略处理异步流。文章剖析其机制,对比应用场景(自动补全、防重提交、批量上传),强调内存泄漏防护,并探讨了调试技巧和未来发展,提出微前端架构中的策略选择建议。

Elliot Yang·
117 浏览

RxJS高阶映射操作符是处理异步流的关键。switchMap取消前序,适用于实时场景;mergeMap并行处理,需限制并发;concatMap保证顺序,exhaustMap防重复提交。选择需考虑业务场景和性能,并注意内存泄漏和竞态条件。

Elliot Yang·
89 浏览

本文总结了 RxJS 中 `switchMap`, `mergeMap`, `exhaustMap` 等操作符的区别和使用场景,强调 `switchMap` 的取消特性在 typeahead 场景下的应用。同时,讨论了 Promise 转 Observable 的方法,`endWith` 的用法,以及 `concat` 操作符在处理顺序依赖时的注意事项和 `fromEvent` 的使用限制。

Elliot Yang·
121 浏览