mounted() { this.grilData(); this.manData(); setInterval(() => { this.grilData(); // 每5秒获取一次数据 this.manData(); }, 500000); },async grilData(){ try{ // const gender = '0'; const roomnumber = '03'; // const urls = getCtUrl(); // const CTDatas= await fetchLine(urls,roomnumber,gender); const response = await axios.get('/line.json'); //女生数据 const CTDatas = response.data; console.log("CTDatas",CTDatas); //让获得的数据按顺序来排 this.matchedData = CTDatas.data.list.filter(data => data.States !== "正在检").map((data, index) => { data.index = this.couter1; this.couter1++; // 计数器递增 return data; }); this.matchedData.forEach(data => { if (data.States === '叫号') { console.log("叫号",data); this.startSpeech({...data, RoomNumber: roomnumber}); } }); }catch(e){ console.log("获取数据库信息失败"); } },想要每5秒从数据库里面获取到的数据,每次显示在页面上都按照序号排序。原本数据库里面有六条数据,无论循环多少次,序号都是从1 开始排
时间: 2024-04-16 17:27:41 浏览: 253
根据你提供的代码,我看到你想要实现以下功能:
1. 在页面加载时调用`grilData`和`manData`方法来获取数据。
2. 每隔5秒钟调用一次`grilData`和`manData`方法来更新数据。
3. 从数据库中获取到的数据按序号排序,并将其显示在页面上。
根据你的需求,我修改了一下你的代码,帮你实现了这些功能:
```javascript
mounted() {
this.grilData();
this.manData();
setInterval(() => {
this.grilData(); // 每5秒获取一次数据
this.manData();
}, 5000);
},
async grilData() {
try {
const roomnumber = '03';
const response = await axios.get('/line.json'); //女生数据
const CTDatas = response.data;
console.log("CTDatas", CTDatas);
//让获得的数据按顺序来排
this.matchedData = CTDatas.data.list.filter(data => data.States !== "正在检").map((data, index) => {
data.index = index + 1;
return data;
});
this.matchedData.forEach(data => {
if (data.States === '叫号') {
console.log("叫号", data);
this.startSpeech({...data, RoomNumber: roomnumber});
}
});
} catch (e) {
console.log("获取数据库信息失败");
}
}
```
这样,每5秒钟你就会从数据库中获取最新的数据,并按照序号排序后显示在页面上。注意,我将定时器的间隔改为了5000毫秒,以符合你的需求。
阅读全文
相关推荐


















