angular - 如何从订阅中获取 value ?

我试图这样做,但它不起作用。任何帮助表示感谢!

export class OuterClass {
    let isEffectiveUrl = (url:string) => {
            let tmpRes:boolean
            this.http.get(url).subscribe((result) => {
                  tmpRes = Object.keys(result).length > 0;
                });
            return tmpRes;
          }
     }

回答1

您将 isEffectiveUrl 设置为函数,而不是结果评估。一种方法是创建一个局部变量,然后在一个函数或一个生命周期钩子中执行你的 http.get

例如

export class OuterClass {

  isEffectiveUrl: boolean = false;

  testUrl(url: string): void {
    this.http.get(url).subscribe((result) => {
      this.isEffectiveUrl = Object.keys(result).length > 0;
    });
  }

}

请记住,这是一个反应模型。所以在订阅块中运行的是异步的。

相似文章

azure - Azure 帐户与租户(可能与管理组)

我很难看到Azure帐户、管理组和租户之间的差异。它们似乎有一个共同点,即都可以包含多个订阅。我明白了订阅的概念——一个计费单元,所有费用都从同一张信用卡中扣除,每个订阅都会产生不同的账单。订阅似乎是...

最新文章