mockjs怎么使得每次请求都返回不同的长度的随机数

import Mock from "mockjs";
var data = Mock.mock({
  "data|20": [
    Mock.mock({
      "success|1-100": 100,
      "exception|1-100": 100,
      "warning|1-100": 100,
    }),
  ],
});
var num = Math.floor(Math.random() * (100 - 1) + 1);
var list = [];
const getItem = () => {
  return Mock.mock({
    "success|1-100": 100,
    "exception|1-100": 100,
    "warning|1-100": 100,
  });
};
for (var i = 0; i < num; i++) {
  list[i] = getItem();
}
export default {
  code: 1,
  data: list,
};

 

已经找到了方法,将模拟数据的文件内部写成函数,外部通过箭头函数调用,获取其返回值;

模拟数据的文件:

import Mock from "mockjs";

function getList() {

  var num = Math.floor(Math.random() * (100 - 1) + 1);

  var list = [];

  const getItem = () => {

    return Mock.mock({

      "success|1-100": 100,

      "exception|1-100": 100,

      "warning|1-100": 100,

    });

  };

  for (var i = 0; i < num; i++) {

    list[i] = getItem();

  }

  return {

    code: 1,

    data: list,

  };

}

export default getList;

 

2.注册mock接口的文件中:

import getList from "./proList";

Mock.mock("mock/news/api", () => getList());