1.0.10000002 • Published 1 year ago

@coderlzw/test-pack v1.0.10000002

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

FetchRequest 使用说明

import {FetchRequest} from "@coderlzw/request"

const myRequest = new FetchRequest({
    baseURL: '/api',
    timeout: 5000,  // 超时的请求会被取消
    interceptors: {
        requestInterceptor: (request) => {
            // 01、return Promise.reject("不允许请求,请求不会被发送,会进入requestInterceptorCatch");
            // 02、throw new Error("不允许请求,请求不会被发送,会进入requestInterceptorCatch");
            // 03、return request;  这里只能返回request对象,不能返回其他类型
            // 04、默认就是返回request对象
        },
        requestInterceptorCatch: (requestCatch) => {
            // 01、throw new Error(requestCatch.message);
            // 02、return Promise.reject(requestCatch.message); 
            // 03、不允许返回其他类型、默认是 throw new Error(error.message);
        },
        responseInterceptor: (response) => {
            // 自由发挥、默认返回 response
        },
        responseInterceptorCatch: (responseCatch) => {
            // 01、throw new Error(responseCatch.error.message );
            // 02、return Promise.reject(responseCatch.error.message);
            // 03、默认 throw new Error(responseCatch.error.message)
        }
    },
});

export default myRequest;
interface ResponseData<T = any> {
    code: number;
    data: T;
    message: string;
}

interface RequestParams {
    id: number;
}

interface RequestBody {
    name: string;
    age: number;
}

myRequest.get<ResponseData, RequestParams>('/posts', {params: {id: 1}}).then((res) => {
    console.log(res);
}).catch((err) => {
    console.log(err);
});

myRequest.post<ResponseData, RequestBody, RequestParams>('/user', {
    params: {id: 1},
    body: {
        name: "zs",
        age: 20
    }
}).then((res) => {
    console.log(res);
}).catch((err) => {
    console.log(err);
});


myRequest.fetch<ResponseData,RequestParams, RequestBody>("/posts111?id=1", {
    method: "POST",
    params: {
        name: "zhangsan"
    },
    body: {
        name: "zhangsan"
    }
}).then((res) => {
    console.log(res);
}).catch((err) => {
    console.log("FETCH_ERROR=============:", err);
});
1.0.10000002

1 year ago

1.0.10000001

1 year ago

1.0.2

1 year ago

1.0.200

1 year ago

1.0.201

1 year ago

1.0.1

1 year ago