首页 > 解决方案 > 获取服务未在 Angular 6 中调用,即使在网络调用中也不会显示

问题描述

我正在使用 Angular 6,并尝试在我的应用程序中使用 GET 服务从服务器获取 IP,但没有调用我的 GET 服务。我尝试了各种方法,但没有帮助。

该服务也没有显示在网络调用中..

以下是相同的服务电话

获取功能:

get(reqUrl: string, params?: any, reqOpts?: any) { 
    return this.http.get(reqUrl, reqOpts); 
}

服务调用功能:

this._api.get(reqUrl)
    .subscribe(
        response => {},
        err => {}
    );

请帮我解决这个...

标签: angularhttpgetrxjsangular6

解决方案


这看起来是您没有在通话中调用订阅get

您的get方法返回一个可观察的:

get(reqUrl: string, params?: any, reqOpts?: any) { 
  return this.http.get(reqUrl, reqOpts);
}

所以在你的组件中,你必须调用.subscribe()返回的变量。

你的组件

ngOnInit() {
  this.myService.get()
    .subscribe((res) => {
      // the response will be available here
    })
}

Observables 默认是惰性的。这意味着,不调用.subscribe()您的代码就不会被执行。


推荐阅读