如何在请求接口的函数后运行,目前我只知道三种方法
1,时间函数
优点:省事
缺点:你根本不知道什么时候接口请求成功
2,async await
优点:简便
缺点:不可在不同页面中使用
3.回调函数
优点:可不同页面使用
缺点:你们来说吧,我看不出来,地狱回调??
在请求页面中
这是个js文件,记得导出这个方法
function GetArea(index,callback) {
let areaDatas = []
areaEquipment(index).then(async (res) => {
let resdata = res.data
for (let i=0;i<resdata.length;i++) {
areaDatas.push({
areaType:TypeMapping(resdata[i].type) ,
id:resdata[i].id ,
name: resdata[i].name,
content:resdata[i].remark ,
pos: {
y: parseFloat(resdata[i].longitude),
x: parseFloat(resdata[i].latitude),
z: parseFloat(resdata[i].altitude),
},
rotation: JSON.parse(resdata[i].rotation),
scale: parseFloat(resdata[i].scale),
viewAng: JSON.parse(resdata[i].viewAng),
pathAnchorPoints: JSON.parse(resdata[i].pathAnchorPoints),
})
}
callback(areaDatas)
})
}```
在调用的页面中
这是个vue组件,记得引入上面那个方法
```javascript
GetArea(val.id,function callback(areadata){
proj.createArea(areadata);
if (proxy.jtGisUI) {
proxy.jtGisUI.uiUpdateScene(2, proj);
}
});