UNPKG

twisted-axios

Version:
31 lines (30 loc) 1.08 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.RequestBase = void 0; const promise_queue_1 = __importDefault(require("promise-queue")); const axios_1 = __importDefault(require("axios")); class RequestBase { static sendRequest(config) { return new Promise((resolve, reject) => { axios_1.default(config) .then(response => resolve(response.data)) .catch(reject); }); } static getQueue() { if (!RequestBase.queue) { RequestBase.queue = new promise_queue_1.default(Infinity, Infinity); } return RequestBase.queue; } static setConcurrency(concurrency) { RequestBase.queue = new promise_queue_1.default(concurrency, Infinity); } static request(config) { return RequestBase.getQueue().add(() => RequestBase.sendRequest(config)); } } exports.RequestBase = RequestBase;