我在服务器中有方法,它返回数据列表或HttpStatus
@RequestMapping(value = "/test", method = RequestMethod.GET)
public @ResponseBody Object get(
if(true)
return HttpStatus.NOT_FOUND;
else
return new ArrayList<>();
}
我想控制从服务器返回的值,当返回HttpStatus抛出某种方式消息时,但是如果返回列表然后将数据返回给组件。
@Injectable()
export class HandlerService {
private testUrl = 'http://localhost:8090/test';
constructor(private http:HttpClient) { }
public getTasks(): Observable<any> {
return this.http.get(this.testUrl);
]);
}
}
我使用angular / common / http中的HttpClient,我不知道如何控制这种情况。
答案 0 :(得分:0)
您可以在订阅中执行此操作:
this.handlerService.getTasks().subscribe(res => {}, err => {});
请注意err
的最后一项功能。
或者您可以在服务级别执行此操作:
import { catchError } from 'rxjs/operators';
...
public getTasks(): Observable<any> {
return this.http.get(this.testUrl).pipe(catchError(err => {}));
}
答案 1 :(得分:0)
正如@ bc1105所说,您可以通过声明
在回调错误内的订阅或服务中进行此操作let status = error.status;
以这种方式保存该值。