如何用角度2写服务

时间:2017-07-23 14:04:13

标签: angular angular-services angular-http angular-components

我的组件:

getDetailsByPhone(phone: any) {
        this.phoneSearchDetails = this.appService.manageHttp('get', 'search?number='+phone, '');
 }

我的服务:

manageHttp(method: any, url: any, body: any) {
    this.headers = this.config.setHeaders();
    var urlto = this.config.serverUrl +''+url;

    return  this.http.get(urlto,{ headers: this.headers }).map((response: Response) => {
            return response.json();
        });
}

使用此代码,我无法看到网络中的响应。我不知道什么是错的,我没有在控制台中看到任何错误。任何人都可以建议帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

你必须订阅observable,否则它不会触发,因为它是懒惰的:

this.appService.manageHttp('get', 'search?number='+phone, '').subscribe((res) => {

  this.phoneSearchDetails = res;

  console.log(res);
}, (err) => {
  // handle error
});

另外,您可以看到我在phoneSearchDetails的回调中分配subscribe的值,因为您无法从subscribe返回任何内容。