- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在 Angular 中构建一个守卫,我需要在其中发出两个不同的 HTTP 请求,并根据这两个请求来确定是否继续。我注意到 forkJoin
是执行此操作的正确方法,但我无法触发。
在我的代码中,我有:
this.userService.watchCurrentUser().subscribe(data => { console.log(data) });
this.orgService.watchOrg().subscribe(data => { console.log(data) });
Observable.forkJoin(
this.userService.watchCurrentUser(),
this.orgService.watchOrg()
).subscribe(data => {
console.log(data);
});
前两个订阅是后来添加的,以测试调用是否真的触发了,它们确实触发了;我看到了他们的日志。但我从未从 forkJoin
中看到很多东西。
我在我的文件顶部导入它:
import { Observable, BehaviorSubject } from 'rxjs/Rx';
import 'rxjs/add/observable/forkJoin';
为了使用 forkJoin
,我还缺少其他东西吗?
最佳答案
Observable.forkJoin()
要求所有源 Observable 至少发出一项并完成。
您确定您的两个源 Observable 都已完成吗?
如果他们不这样做(并且基于他们的内部逻辑他们不能),也许您更愿意使用 zip()
或 combineLatest()
。
关于angular - 无法让 forkJoin 开火,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43427065/
我使用 django celery 和 rabbitmq 作为我的经纪人( guest 兔子用户在本地机器上具有完全访问权限)。我有一堆项目都在他们自己的 virtualenv 中,但最近其中 2 个
我正在 Angular 中构建一个守卫,我需要在其中发出两个不同的 HTTP 请求,并根据这两个请求来确定是否继续。我注意到 forkJoin 是执行此操作的正确方法,但我无法触发。 在我的代码中,我
我刚刚下载了 openfire 3.10。 安装正常。但是当我启动 Openfire 服务器时,它在启动过程中出现以下错误: java.lang.IllegalArgumentException: I
我正在构建一个网络聊天应用程序。我想在每次按下“输入”按钮后存储两方之间的消息或对话。我正在使用 Openfire 服务器和 MySQL 数据库。我没有从存储对话的数据库中看到任何表格。 有插件吗?谢
我有一个 Vue 组件,我需要 body 元素有 overflow:none 但其余页面应该有 overflow:auto。因为正文位于组件外部,所以组件内的作用域 css 不会应用于正文。我的解决方
我有一个 Angular 2.0.1(最终版)应用,它使用 HashLocationStrategy 作为路线导航策略。 我定义了一条路线如下: { path: 'shiftmanag
我是一名优秀的程序员,十分优秀!