Edited at

Ajaxで画像ダウンロードしたときに、エラーが起こったら?

More than 1 year has passed since last update.

function download () {

return axios.get('download_url', { responseType: 'blob' })
.then(res => Promise.resolve(res), error => Promise.reject(error))
}

としたときに、どうやってエラーを表示するか?とりあえずメモ

download().then(res => {

// FileSaverを使って保存
FileSaver.saveAs(new Blob([res.data], { type: 'image/jpeg' }))
}, async error => {
try {
let resText = await new Promise(resolve => {
let reader = new FileReader()
reader.addEventListener('loadend', () => {
resolve(reader.result)
})
reader.readAsText(error.response.data)
})
// エラー表示
alert(JSON.parse(resText))
} catch (e) {

}
})