UNPKG

vue-cli-plugin-mocker

Version:

@vue/cli plugin for mock data

36 lines (35 loc) 1.04 kB
"use strict"; 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;