miniprogram-network
Version:
Redefine the network API of Wechat MiniProgram
48 lines • 1.79 kB
JavaScript
;
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