mock.js怎么让每次请求返回的数据不一样

现在每次异步请求获取到的数据都是相同的,只有刷新页面返回数据才会更新。
怎么让每次异步请求返回的数据不同?微信图片_20200117085216.png


可以了

import Mock from 'mockjs'  
import { Random } from 'mockjs'  
  
Mock.setup({  
  timeout:1000  
});  
   
Mock.mock('/api/get_item_list',options=>{  
  let detail=[];  
    for(let i=0;i<10;i++){  
      let item={};  
      item['title']=Random.csentence(10,100);  
      let tags=[];  
      for(let j=0;j<Random.integer(0,6);j++){  
        tags.push(Random.ctitle(1,3));  
      }  
      item['tags']=tags;  
      item['img']=Random.image('200x200',Random.color(),Random.word(3,8));  
      item['user_name']=Random.ctitle(1,10);  
      item['user_headimg']=Random.image('100x100',Random.color(),'nick');  
      item['hot_info']={  
        'like':Random.integer(1,500),  
        'collect':Random.integer(1,100),  
        'comment':Random.integer(1,200)  
      };  
      detail.push(item);  
    }  
    let data={  
      "code":0,  
      "msg":"",  
      "detail":detail  
    };
  return data;  
});
阅读 6.5k
1 个回答

你应该能意识到:你每次都是在返回同一个变量的值.

要让它每次请求都刷新,那么:

Mock.mock('/api/get_item_list', options => {
    // 构造你的 detail
    return detail;
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题