//fetch异步请求函数
function status(response){
if(response.status>=200 && response.status<300){
return Promise.resolve(response);
}
else{
return Promise.reject(new Error(response.statusText));
}
}
function json(response){
return response.json();
}
function ctrlset(){
fetch("/cmdopen")
.then(status)
.then(json)
.then(function (data) {
console.log('ok');
})
}
//请求数据函数
function getData(){
fetch("/numsum")
.then(status)
.then(json)
.then(function (data) {
var num = document.getElementById("numbersum");
num.innerHTML = data;
})
//请求风扇是否打开
fetch("/feng")
.then(status)
.then(json)
.then(function(data){
{# var p = document.getElementById('fengshan');#}
var feng1 = document.getElementById('feng1');
var feng0 = document.getElementById('feng0');
if (data[data.length-1] == 1) {
feng1.style.display = "block";
feng0.style.display = "none";
}else{
feng1.style.display = "none";
feng0.style.display = "block";
}
})
//请求宠物是否在屋内
fetch("/indoor")
.then(status)
.then(json)
.then(function(data){
var p = document.getElementById('indoor');
var image1 = document.getElementById('image1');
var image0 = document.getElementById('image0');
if(data[data.length-1] == 1){
image0.style.display = "none";
image1.style.display = "block";
}else{
image1.style.display = "none";
image0.style.display = "block";
}
})
.catch(function(err){
console.log("Fetch错误:"+err);
});
//请求时间
fetch("/time")
.then(status)
.then(json)
.then(function(data){
// 折线图湿度
myChart.setOption({
xAxis:{
data:data
}
});
})
.catch(function(err){
console.log("Fetch错误:"+err);
});
//请求温度数据
fetch("/tem")
.then(status)
.then(json)
.then(function(data){
//折线图温度
myChart.setOption({
series: [{
// 根据名字对应到相应的系列
name: 'TEM',
data: data
}]
});
})
.catch(function(err){
console.log("Fetch错误:"+err);
});
//请求湿度数据
fetch("/hum")
.then(status)
.then(json)
.then(function(data){
// 折线图湿度
myChart.setOption({
series: [{
// 根据名字对应到相应的系列
name: 'HUM',
data: data
}]
});
})
.catch(function(err){
console.log("Fetch错误:"+err);
});
}
//定时更新数据
setInterval('getData()',10);
巴扎黑2017-07-05 10:54:53
先確定頁面卡頓的問題。
頁面卡通常都是DOM渲染的問題,F12查查就懂了,不要把鍋子都甩給ajax,比如說你ajax一個html過來,再渲染,那肯定很卡。
为情所困2017-07-05 10:54:53
跟ajax
數量可能有關係,但應該不是主要原因,因為畢竟ajax
是異步的,慢還是獲取數據量比較大的原因吧,如果是一下子獲取數據量比較大的情況的話,建議你們分批次加載,不要一下子取所有資料;
如果是ajax
太多的情況,那麼可以適當的分段加載,比如原先6個ajax
,分成兩段,第一段的三個ajax
加載好了,再加載下一段