私は簡単な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
です。しかし、この方法では、キャッチエラーがリクエストエラーなのか、それとも内部のコードによってトリガーされたエラーなのかわかりません。
私はその問題を解決しよう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)
私は何を間違っていますか?