创建Service

网络请求返回接口数据的同时,往往可能出现很多异常情况,比如断网、服务器宕、请求参数错误、请求超时等问题。而每一个请求都要面临上述的问题,所以我们需要创建一个服务去统一处理。

  1. import { HttpService, HttpError, HttpTransform } from '@redux-model/web';
  2.  
  3. class ApiService extends HttpService {
  4. protected baseUrl(): string {
  5. return 'http://example.com';
  6. }
  7.  
  8. protected headers(): object {
  9. return {};
  10. }
  11.  
  12. // 接口请求失败时,收集错误信息到reducer
  13. protected onRespondError(error: HttpError<{ error: string }>, transform: HttpTransform): void {
  14. transform.errorMessage = error.response.data.error;
  15. }
  16.  
  17. // 渲染错误信息
  18. protected onShowError(msg: string): void {
  19. alert(msg);
  20. }
  21.  
  22. // 渲染成功信息
  23. protected onShowSuccess(msg: string): void {
  24. alert(msg);
  25. }
  26. }
  27.  
  28. export const $api = new ApiService();