试试
getNetwork(url) {
... // 代码片段
return this.$get(url, requestParams, successCallBack, errCallBack)// 这里return出去,this.$get返回是一个promise
},
// 同步执行,有个疑问,你这个res是哪里来的
this.getNetwork(res.data.Network.network_json).then(()=>{
let a = this.getNetworkText(res.data.Network.network_json)
this.Network.nodes = this.getNetworkData[a].nodes
this.Network.edges = this.getNetworkData[a].edges
})
.catch(()=>{})// 异步处理
按照官方文档的写法的话,你这个其实可以这么写
getNetwork(url) {
let lastText = this.getNetworkText(url)
let requestParams = {}
return this.$get(url, requestParams).then((res)=>{
this.getNetworkData[lastText] = {
nodes: res.nodes,
edges: res.edges
};
return this.getNetworkData[lastText]
}).catch(()=>{
// 异常处理
})
},
// 假设你使用的时候是双重请求,这个res是第一层请求得到的,那还可以这么写
// 第一层请求
this.$get(url, requestParams).then(async (res)=>{
Object.assign(this.Network ,await this.getNetwork(res.data.Network.network_json))
}).catch(()=>{
// 异常处理
})
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…