0

在 Ionic 5 中,我需要帮助才能从服务器获取远程数据。基本上我尝试从远程 REST 服务获取 json 格式的数据。我已经创建了一个服务提供者,我使用 httpClient get 方法来获取这样的 json:

getCategories() {

        return this.http.get(this.env.API_URL + 'prova-cat')
            .subscribe(data => {
                console.log('data:' + data);
              }, error => {
                console.log(error);
             });
        }

然后在提供程序中我在 ngOnInit() 中使用

let categories = this.categorieService()

我哪里错了?如果我在控制台上查看,我会得到 Observable 数据

4

1 回答 1

0

您应该在订阅中分配值。最好在组件内部而不是服务内部订阅。这样,只有在从后端接收到异步数据后,您才能继续进行。尝试以下操作:

服务

getCategories(): observable<any> {
  return this.http.get(this.env.API_URL + 'prova-cat');
}

零件

export class AppComponent implements OnInit, OnDestroy {
  private categories: any;

  ngOnInit() {
    this.categorieService.getCategories().subscribe(data => {
      console.log('data:' + data);
      this.categories = data;         // <-- assign value here
    }, error => {
      console.log(error);
    });
  }
}
于 2020-04-08T14:35:14.827 回答