一、内层列表数据包含在最外层列表的某个属性中,添加没刷新问题(异步问题)
1.对的方法
2.错的方法
二、new promise 异步调用(JSON数据组装)
function getTypeList(type) {
return new Promise(function (resolve, reject) {
getElecIdentPageApi({ current: 1, size: 200, deviceType: type }).then(
res => {
let arr = [];
if (res.code === 0) {
res.data.records.forEach(el => {
let obj = {
a: el.a,
b: el.b,
c: el.c
};
arr.push(obj);
});
resolve(arr);
} else {
reject(res.msg);
}
}
);
});
}
function handleData() {
let elecList = [];
for (let i = 0; i < formData.elecType.length; i++) {
getTypeList(formData.elecType[i]).then(item => {
var obj = {
deviceType: formData.elecType[i],
data: item
};
elecList.push(obj);
formData.elecListJsonStr =
`{ "identifier": "elecIdent", "elecList":` +
JSON.stringify(elecList) +
`}`;
});
}
}
- 数据上万条了要异步加载
// function getDeviceList(current) {
// return new Promise(function (resolve, reject) {
// getLotDevicePage2Api({ current: current, size: 1000, nodeType: 3 }).then(
// res => {
// if (res.code === 0) {
// resolve(res.data.records);
// } else {
// reject(res.msg);
// }
// }
// );
// });
// }
// function getInitData() {
// let clientData = [];
// getLotDevicePage2Api({ current: 1, size: 1, nodeType: 3 }).then(res => {
// let current = Math.ceil(res.data.total / 1000);
// for (let i = 1; i <= current; i++) {
// getDeviceList(i).then(item => {
// clientData.push(item);
// if (i === current) {
// let flat = clientData.reduce((prev, next) => {
// return prev.concat(next);
// });
// let mapAllData = flat.filter(el => {
// return !validatenull(el.lon) && !validatenull(el.lat);
// });
// data.mapData = [...mapAllData];
// }
// });
// }
// });
// getfeedBack(); //用户反馈
// getCustHandle(); //客服处理
// }