1.如果目的只是调用一个接口进行数据处理的话是不需要的,直接已这种方式调用即可。
statisZanCaiExport({ statisDate: this.state.datePickValue.format('YYYYMMDD') }).then(res =>{
const url = window.URL.createObjectURL(new Blob([res], { type: 'application/octet-stream;charset=utf-8' }))
// 创建A标签
const link = document.createElement('a')
link.style.display = 'none'
link.href = url
link.download = `知识点赞踩明细${moment().format('YYYYMMDD')}.xlsx`
document.body.appendChild(link)
link.click()
message.success('导出成功!')
})
2.如果包裹这个接口的函数中还需要调用另外一个接口,且第二个接口需要第一个接口返回值得话就用到了async 和 await ,这样就会顺序执行调完第一个接口处理完数据后再会调用第二个接口。
exportData = async () => {
try {
1:第一个接口 await statisZanCaiExport({ statisDate: this.state.datePickValue.format('YYYYMMDD') }).then(res => {
const url = window.URL.createObjectURL(new Blob([res], { type: 'application/octet-stream;charset=utf-8' }))
// 创建A标签
const link = document.createElement('a')
link.style.display = 'none'
link.href = url
link.download = `知识点赞踩明细${moment().format('YYYYMMDD')}.xlsx`
document.body.appendChild(link)
link.click()
message.success('导出成功!')
})
} catch (error) {
message.success('导出失败!')
}
try{2:调第二个接口}catch(error){}
}