Как показать сообщение об ошибке в файле component.ts? - PullRequest
0 голосов
/ 20 октября 2018

Как получить сообщение об ошибке в моем файле component.ts?Как получить доступ к сообщению об ошибке класса обслуживания, отображаемому на странице HTML?

Component.ts Добавить метод

addNew(): any {   this.apiService.addIndexReference(Data.AccessToken,this.indexReference,this.indexId,(result)=>{
              //if Not success
              //
              //else
              console.log("result"+ JSON.stringify(result));
                this.indexReference.id=(result as IndexReference).id;
            })   
        }

Метод обслуживания API

 public addIndexReference(accessToken: any, body: IndexReference,id:number,action: any) {
    return this.post<IndexReference>(environment.apiUrl + '/api/v1/indexes/'+id+ '/references', accessToken
      , body
      , action);
  }
 public post<T>(url: string, accessToken: string, body: T, action: any) {
    let httpOptions = {
      headers: new HttpHeaders({ 'Authorization': accessToken })
    };
    this.http.post(url, body, httpOptions).subscribe(respone => {
      (respone) => this.booleanAddValue = false;
      action(respone);
    }, error => {
      console.log(error);
      return throwError(error);
    })
  }

1 Ответ

0 голосов
/ 20 октября 2018

Проблема

Проблема в том, что вы получаете API формы данных и подписываетесь в самом классе Службы.

Исправьте

Что вы можете сделать, это разрешить Службекласс обрабатывает HTTP-вызов и позволяет компоненту обрабатывать его, подписавшись на него.

Модифицированная версия

Класс обслуживания

public addIndexReference(accessToken: any, body: IndexReference,id:number,action: any) {
    return this.post<IndexReference>(environment.apiUrl + '/api/v1/indexes/'+id+ '/references', accessToken
      , body
      , action);
  }  
     public post<T>(url: string, accessToken: string, body: T, action: any) {
        let httpOptions = {
          headers: new HttpHeaders({ 'Authorization': accessToken })
        };
        return this.http.post(url, body, httpOptions); //It will return Observable 
      }

Компонент.Добавить метод

addNew(): any {   this.apiService.addIndexReference(Data.AccessToken,this.indexReference,this.indexId).subscribe(respone => {
   console.log("Successfull saved");    //<-- SUCCESS
}, error => { 
    console.log("Error occured");       //<-- ERROR
})
...