UNPKG

qos-qweb

Version:
64 lines 4.54 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const axios_1 = __importDefault(require("axios")); const utils_1 = require("../utils"); // tslint:disable-next-line: no-let let httpRequest; const createAxioRequest = (baseUrl) => { if (utils_1.isNotEmpty(httpRequest)) { return httpRequest; } // 创建axios实例 const request = axios_1.default.create({ baseURL: baseUrl, timeout: 200000 // 请求超时时间 }); // request拦截器 request.interceptors.request.use(config => { return config; }, error => { // Do something with request error Promise.reject(error); }); // timeout handler request.interceptors.response.use(undefined, async function axiosRetryInterceptor(err) { const config = err.config; // If config does not exist or the retry option is not set, reject if (!config || !config.retry) { return Promise.reject(err); } // Set the variable for keeping track of the retry count // tslint:disable-next-line: no-object-mutation config.__retryCount = config.__retryCount || 0; // Check if we've maxed out the total number of retries if (config.__retryCount >= config.retry) { // Reject with the error return Promise.reject(err); } // Increase the retry count // tslint:disable-next-line: no-object-mutation config.__retryCount += 1; // Create new promise to handle exponential backoff const backoff = new Promise(resolve => { setTimeout(() => { resolve(); }, config.retryDelay || 1); }); // Return the promise in which recalls axios to retry the request await backoff; return axios_1.default(config); }); // respone拦截器 request.interceptors.response.use(res => { return res; }, error => { return Promise.reject(error); }); httpRequest = request; return httpRequest; }; exports.default = createAxioRequest; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3V0aWxzL3JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrREFBNkM7QUFDN0Msb0NBQXNDO0FBRXRDLG1DQUFtQztBQUNuQyxJQUFJLFdBQTJCLENBQUM7QUFFaEMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO0lBQzVDLElBQUksa0JBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUMzQixPQUFPLFdBQVcsQ0FBQztLQUNwQjtJQUNELFlBQVk7SUFDWixNQUFNLE9BQU8sR0FBRyxlQUFLLENBQUMsTUFBTSxDQUFDO1FBQzNCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLE9BQU8sRUFBRSxNQUFNLENBQUMsU0FBUztLQUMxQixDQUFDLENBQUM7SUFFSCxhQUFhO0lBQ2IsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUM5QixNQUFNLENBQUMsRUFBRTtRQUNQLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsRUFDRCxLQUFLLENBQUMsRUFBRTtRQUNOLGtDQUFrQztRQUNsQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUMsQ0FDRixDQUFDO0lBRUYsa0JBQWtCO0lBQ2xCLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDL0IsU0FBUyxFQUNULEtBQUssVUFBVSxxQkFBcUIsQ0FBQyxHQUFHO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDMUIsa0VBQWtFO1FBQ2xFLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQzVCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM1QjtRQUVELHdEQUF3RDtRQUN4RCwrQ0FBK0M7UUFDL0MsTUFBTSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQztRQUUvQyx1REFBdUQ7UUFDdkQsSUFBSSxNQUFNLENBQUMsWUFBWSxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDdkMsd0JBQXdCO1lBQ3hCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM1QjtRQUVELDJCQUEyQjtRQUMzQiwrQ0FBK0M7UUFDL0MsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUM7UUFFekIsbURBQW1EO1FBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3BDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDLEVBQUUsTUFBTSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztRQUVILGlFQUFpRTtRQUNqRSxNQUFNLE9BQU8sQ0FBQztRQUNkLE9BQU8sZUFBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZCLENBQUMsQ0FDRixDQUFDO0lBRUYsYUFBYTtJQUNiLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDL0IsR0FBRyxDQUFDLEVBQUU7UUFDSixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFDRCxLQUFLLENBQUMsRUFBRTtRQUNOLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDLENBQ0YsQ0FBQztJQUVGLFdBQVcsR0FBRyxPQUFPLENBQUM7SUFDdEIsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsaUJBQWlCLENBQUMifQ==