UNPKG

miniprogram-network

Version:

Redefine the network API of Wechat MiniProgram

48 lines 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.delayRetry = exports.setConfig = void 0; var miniprogram_downloader_1 = require("miniprogram-downloader"); var miniprogram_request_1 = require("miniprogram-request"); var miniprogram_uploader_1 = require("miniprogram-uploader"); function setConfig() { if (arguments.length === 2) { var key = arguments[0]; var value = arguments[1]; miniprogram_request_1.REQUEST.Defaults[key] = value; miniprogram_downloader_1.DOWNLOAD.Defaults[key] = value; miniprogram_uploader_1.UPLOAD.Defaults[key] = value; } else if (typeof arguments[0] === 'object') { var config_1 = arguments[0]; Object.keys(config_1) .forEach(function (key) { miniprogram_request_1.REQUEST.Defaults[key] = config_1[key]; miniprogram_downloader_1.DOWNLOAD.Defaults[key] = config_1[key]; miniprogram_uploader_1.UPLOAD.Defaults[key] = config_1[key]; }); } } exports.setConfig = setConfig; /** * 延迟重试 * 会在 options.__failure 记录失败的次数 * @param delay 延时时间 单位ms * @param retryTimes 重试次数 */ function delayRetry(delay, retryTimes) { if (retryTimes === void 0) { retryTimes = 1; } return function (data, reason) { var _this = this; this.__failure = (this.__failure || 0) + 1; return new Promise(function (resolve, reject) { if (_this.__failure > retryTimes) { reject(reason); } else { setTimeout(resolve, delay, data); // tslint:disable-line: no-string-based-set-timeout } }); }; } exports.delayRetry = delayRetry; //# sourceMappingURL=set-config.js.map