angular - 重构混乱的订阅以便进一步订阅
问题描述
我正在学习 Angular 并且遇到了我喜欢但仍然不完全理解的 Observables。所以我有一个 Observable 需要完成一个 observable 才能继续。
我有一些序列问题,因为它们是独立的,所以我需要嵌套它们以确保第二个 Observable 等待第一个完成。我想知道是否有更好的方法来处理我所做的事情,因为它看起来有点混乱。我可能需要在这个结构中添加另一个嵌套的 observable。
这是我的代码示例...
this.permissionService.build().subscribe( p =>{
this.Headers = p;
this.accessService.buildTitlesWithMenus().subscribe( q => {
this.treeNodes = this.accessService.buildTreeTable(q);
});
});
解决方案
this.permissionService.build().pipe(
tap(p => this.Headers = p),
switchMap(p => this.accessService.buildTitlesWithMenus()),
).subscribe(q => this.treeNodes = this.accessService.buildTreeTable(q));
这将是正确的做法。
如果您有任何问题随时问 !
推荐阅读
- java - ForkJoinPool 调度 vs ExecutorService
- asp.net-core - IFormFile 'System.InvalidOperationException'
- arrays - 从序列化字节数组中获取 avro 模式
- scala - sbt-native-packager 在不同的模块中定义多个 mainClasses
- jenkins - Jenkins Amazon Cloud slave 无法签出多分支管道存储库
- php - 通过csv文件问题将日期导入mysql
- angular - 如何在选择标签中将 ngModel ngFor 与选项 angular 组合在一起
- node.js - 关闭数据库连接 (Firebase+Node.js)
- jenkins - 使用 /etc/hosts/ 为 jenkins 解析主机
- xmpp - Smack 多用户聊天集回答 XMPPError: bad-request-cancel