Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 只运行一次Observable,然后检查是否在-angular2 typescript之后完成_Javascript_Angular_Typescript_Observable - Fatal编程技术网

Javascript 只运行一次Observable,然后检查是否在-angular2 typescript之后完成

Javascript 只运行一次Observable,然后检查是否在-angular2 typescript之后完成,javascript,angular,typescript,observable,Javascript,Angular,Typescript,Observable,非常新的观测值,如果这是基本的,我很抱歉,但我已经尝试过谷歌搜索,似乎无法找到我想要的 这是一个非常基本的plunkr示例。 为什么我的初始化的方法在我的服务调用之前不被调用?我以为初始化的可观察的将在我执行可观察时立即执行。forkJoin??我是否需要以某种方式开始这个过程 为什么我的myService.loadOtherData方法似乎从未调用subscribe方法 提前感谢如果你对可观测事物非常陌生,我建议你从一个基本的例子开始 例如:(可能是伪代码) 我相信我看到你把这两者结合起来,

非常新的
观测值
,如果这是基本的,我很抱歉,但我已经尝试过谷歌搜索,似乎无法找到我想要的

这是一个非常基本的plunkr示例。

为什么我的
初始化的
方法在我的服务调用之前不被调用?我以为初始化的
可观察的
将在我执行
可观察时立即执行。forkJoin
??我是否需要以某种方式开始这个过程

为什么我的
myService.loadOtherData
方法似乎从未调用subscribe方法


提前感谢

如果你对可观测事物非常陌生,我建议你从一个基本的例子开始

例如:(可能是伪代码)

我相信我看到你把这两者结合起来,订阅这个主题,然后用一个可观测的数据获取数据?有了这些例子,您是否有足够的信息,或者您是否需要一个非常具体的例子

编辑:

您的
this.initialized.subscribe
“启动进程”。 调用loadOtherData函数太晚,这使您无法订阅此函数。当数据返回时初始化。这就是为什么您看不到console.log('initialized')

编辑2:


请注意,
BehaviorSubject
保存其数据并在订阅时返回。没有必要用空字符串初始化它。

那么,如果我有一个对可观察对象/订阅的引用,有没有办法订阅一个已经完成的可观察对象呢?就像我说的,行为主体在订阅时返回它的数据。所以这是一个可行的方法。
let observable = new Observable<string>(observer => {
  if (1 == 1) {
    observer.next("one is one");
  } else {
    observer.error("one is not one");
  }
});
observable.subscribe(
  response => console.log(response), 
  error -> console.log(error)
);
let subject = new Subject();
subject.subscribe(response -> console.log(response));
subject.next('hello');