我有一个简单的async
功能。它只是发送一个请求并返回数据:
export const updatePanorama = async ({ commit }, payload) => {
const urlEnd = '/v1/pano/update'
const type = 'post'
const resp = await api.asyncRequest(urlEnd, type, payload)
commit('SET_PANORAMA', resp.data)
return resp
}
这就是我使用该功能的方式:
handleUpdatePanorama (panorama) {
const payload = {}
this.updatePanorama(payload).then(resp => {
this.setIsLoading(false)
this.handleAlert('updateSuccess', 'success')
}).catch(() => {
this.setIsLoading(false)
this.handleAlert('updateError', 'danger')
})
},
问题是,catch
如果内部有错误,则运行后的代码then
。但是这样我不知道catch错误是请求错误还是内部代码触发的错误。
我正在尝试解决这个问题try
:catch
handleUpdatePanorama (panorama) {
try {
const payload = {}
const resp = await this.updatePanorama(payload)
console.log('resp:', resp)
this.setIsLoading(false)
this.handleAlert('updateSuccess', 'success')
} catch (err) {
this.setIsLoading(false)
this.handleAlert('updateError', 'danger')
})
},
但是,我在这一行中遇到了一个意外的令牌错误:await this.updatePanorama(payload)
我究竟做错了什么?