HttpRequest.ts 1.03 KB
import type { AxiosError, AxiosRequestConfig} from '@ohos/axios';
import service from './AxiosRequest';

export class HttpRequest {
  // 加入泛型限定,返回数据类型为T,
  static request<T = any>(config: AxiosRequestConfig): Promise<T> {
    return new Promise<T>((resolve, reject) => {
      service.request<any, T>(config)
        .then((res:T) => {
          resolve(res)
        })
        .catch((err:AxiosError) => {
          reject(err)
        })
    })
    // return service.request<any, T>(config)
  }

  static get<T = any>(url: string, config?: AxiosRequestConfig): Promise<T> {
    return service.get(url, config)
  }

  static delete<T = any>(url: string, config?: AxiosRequestConfig): Promise<T> {
    return service.delete(url, config)
  }

  static post<T = any>(url: string, data?: object, config?: AxiosRequestConfig): Promise<T> {
    return service.post(url, data, config)
  }

  static put<T = any>(url: string, data?: object, config?: AxiosRequestConfig): Promise<T> {
    return service.put(url, data, config)
  }
}