0

顺便说一句,我是 Angular 的新手。

我有一个删除按钮,它向用户显示一个关于是否真正删除员工的确认对话框。当用户选择 YES 时,前端会将员工 ID 传递给后端,服务应该只更新员工并向前端返回 FALSE 或 TRUE。

deleteEmployee()问:我的 in service (Observable) 中正确的内容应该是什么?

我的服务文件中有这些代码

    getEmployees();
    getEmployees(filter?: any): Observable<Employee[]> {
        if (typeof filter !== 'undefined') {
            let body = JSON.stringify({filter});
            let headers = new Headers({ 'Content-Type': 'application/json' });
            let options = new RequestOptions({ headers: headers });

            console.log(body);

            return this.http.post('http://52.193.131.36:8000/api/staffs', body, options)
                        .map(this.extractData)
                        .catch(this.handleError);
        } else {
            return this.http.get('http://52.193.131.36:8000/api/staffs')
                    .map(this.extractData)
                    .catch(this.handleError);
        }
    }

和这个:

    private extractData(res: Response | any) {
        let body = res.json();
        return body.data || {};
    }

    private handleError (error: Response | any) {
        // In a real world app, you might use a remote logging infrastructure
        let errMsg: string;
        if (error instanceof Response) {
            const body = error.json() || '';
            const err = body.error || JSON.stringify(body);
            errMsg = `${error.status} - ${error.statusText || ''} ${err}`;
        } else {
            errMsg = error.message ? error.message : error.toString();
        }
        console.error(errMsg);
        return Observable.throw(errMsg);
    }
4

1 回答 1

0

该函数仅返回布尔值例如: true false

handleError(): boolean {
   let res: boolean;

      if (true) {
        return true;
      } else {
        return false;
      }
}
于 2017-06-15T09:46:54.863 回答