miniprogram-network
Version:
Redefine the network API of Wechat MiniProgram
42 lines • 1.36 kB
JavaScript
import { DOWNLOAD } from 'miniprogram-downloader';
import { REQUEST } from 'miniprogram-request';
import { UPLOAD } from 'miniprogram-uploader';
function setConfig() {
if (arguments.length === 2) {
const key = arguments[0];
const value = arguments[1];
REQUEST.Defaults[key] = value;
DOWNLOAD.Defaults[key] = value;
UPLOAD.Defaults[key] = value;
}
else if (typeof arguments[0] === 'object') {
const config = arguments[0];
Object.keys(config)
.forEach((key) => {
REQUEST.Defaults[key] = config[key];
DOWNLOAD.Defaults[key] = config[key];
UPLOAD.Defaults[key] = config[key];
});
}
}
/**
* 延迟重试
* 会在 options.__failure 记录失败的次数
* @param delay 延时时间 单位ms
* @param retryTimes 重试次数
*/
function delayRetry(delay, retryTimes = 1) {
return function (data, reason) {
this.__failure = (this.__failure || 0) + 1;
return new Promise((resolve, reject) => {
if (this.__failure > retryTimes) {
reject(reason);
}
else {
setTimeout(resolve, delay, data); // tslint:disable-line: no-string-based-set-timeout
}
});
};
}
export { setConfig, delayRetry };
//# sourceMappingURL=set-config.js.map