vue-cli-plugin-mocker
Version:
@vue/cli plugin for mock data
36 lines (35 loc) • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/**
* 获取任意两个数之间的随机整数
* @param num1 {number} 生成的随机数的最小值
* @param num2 {number} 生成的随机数的最大值
*/
const randomNum = (num1, num2) => {
const min = Math.ceil(Math.min(num1, num2));
const max = Math.floor(Math.max(num1, num2));
const rand = Math.random();
const range = max - min;
return Math.round(rand * range) + min;
};
/**
* 延时返回数据
* @param json
* @param ms
*/
const delay = async (json, ms) => {
let timer = 0;
if (typeof ms === 'number') {
timer = ms;
}
else if (ms === false) {
// 直接返回数据
return json;
}
else {
const { min, max, time } = { min: 200, max: 600, ...ms };
timer = time || randomNum(min, max);
}
return await new Promise((resolve) => setTimeout(resolve, timer)).then(() => Promise.resolve(json));
};
exports.default = delay;