【问题标题】:How to use results from asynchronous function in Angular如何在 Angular 中使用异步函数的结果
【发布时间】:2021-07-25 14:20:51
【问题描述】:

我试图在另一个函数中使用我的异步函数的结果,但它一直说结果未定义。

这是我的调用函数的结构:

async callingFn() {
    let value = await calledFn();
    console.log(value);
}

这是我正在调用的函数的结构:

calledFn() {
    this.myService.getHttpResponse().subscribe(
        (resp: any) => {
            var values = JSON.parse(resp);
            console.log(values);
            return values;
        },
        error => {
            console.error(error);
        }
    );
}

当我在 calledFn 中记录值时,结果符合预期。但是,当我在callingFn中记录calledFn的返回值时,它返回undefined。

我做错了什么?

【问题讨论】:

    标签: javascript angular http asynchronous async-await


    【解决方案1】:

    您没有从calledFn 返回。虽然订阅方法正在返回。return http 服务调用

    calledFn() {
      return this.myService.getHttpResponse().subscribe(
        (resp: any) => {
          var values = JSON.parse(resp);
          console.log(values);
          return values;
        },
        error => {
          console.error(error);
        }
      );
    }

    【讨论】:

      猜你喜欢
      • 2021-12-19
      • 2021-08-01
      • 2012-03-14
      • 2020-10-20
      • 1970-01-01
      • 2021-12-19
      • 2020-06-03
      • 2020-03-15
      • 1970-01-01
      相关资源
      最近更新 更多