在开发中会遇到这样的修求,可能一个页面会根据不同的情况会请求多个接口,返回一样的结果。如果各个接口分别编写一次,先的很搂,并且代码冗余。那么分装成一个方法来请求。
解决办法:其实就是将写一个方法,return请求接口,用另一个方法来接收结果
分装后的代码
import {saleDeptAnalysis,userAnalysis,contractIndustry} from '@/api/bi/customer' //接口
/**
* 查询表格数据,接口接口返回的数据
* @param parmas
*/
getList(parmas) {
this.getRequestHead(parmas)
.then(res => {
if (res.code === 0) {
this.tableData = res.data.list
}
})
}
/**
* 设置请求接口
* @param parmas
*/
getRequestHead(parmas) {
this.loading = true
this.tableData = []
if (parmas === 'sale') {
return saleDeptAnalysis(this.listPostParams)
} else if (parmas === 'employees') {
return userAnalysis(this.listPostParams)
} else if (parmas === 'contract') {
return contractIndustry(this.listPostParams)
}
},
没有封装
/**
* 查询表格数据
* @param parmas
*/
getList(parmas){
this.loading = true
this.tableData = []
if (parmas === 'sale') {
saleDeptAnalysis(this.listPostParams)
.then( res => {
if (res.code === 0) {
this.tableData = res.data.list
}
})
} else if (parmas === 'employees') {
this.listPostParamsif (parmas === 'employees')
userAnalysis(this.listPostParams)
.then( res => {
if (res.code === 0) {
this.tableData = res.data.list
}
})
} else if (parmas === 'contract') {
contractIndustry(this.listPostParams)
.then( res => {
if (res.code === 0) {
this.tableData = res.data.list
}
})
}
},