Angular和完整的Observable

时间:2019-10-28 09:07:37

标签: angular promise async-await rxjs

我有一个函数,该函数通过对文件ranch.service.ts的订阅返回不同的值

getRanches(): void {
    // no need to unsubscribe because get is a cold observable
    this.dataServ
      .get<DetailedRanchDTO[]>(DetailedRanchDTO, this.URL)
      // tslint:disable-next-line:no-console
      .subscribe(ranches => this._ranches$.next(ranches), error => (error), () => (this.fullyLoad = true));
}

async getValue(): Promise<void> {
    await this.getRanches();
    // tslint:disable-next-line:no-console
    console.log(this.fullyLoad);
}

问题是完全的,this.fullyload为假,未分配为真。

第二个问题:我必须等待该函数完成,才能在另一个组件上返回带有承诺的值。

toolbar-component.ts上的另一个功能:

        this.ranchService.getValue().then(() => this.fullyLoad = this.ranchService.fullyLoad); console.log(this.fullyLoad);

fullyload从未赋值为true,但我尝试创建其他可观察的值以返回该值,我想我只是不知道它是如何工作的(初始代码不是我的)

请帮助我发现发生了什么事?

0 个答案:

没有答案