下一步如何拒绝一个成功的错误响应



我定义的axios如下

$axios.onResponse((response) => {
if (response.data.status == 500}
return Promise.reject(response)
}
})
$axios.onError((err) => {
console.log(err)
})

,在fetchi调用

async fetch () {
await this.$axios.$get('myapi')
}

,但我得到错误,如

RangeError
Maximum call stack size exceeded

我尝试拒绝错误的成功响应,但它在ssr中不起作用。如何解决这个问题?

通常,使用try-catch语句优于事件处理程序(在适当的情况下)。

试试这样写:

async fetch() {
try {
const response = await this.$axios.$get('myapi');
if (response.data.status == 500) {
throw new Error("Some error message");
} else {
// Success action here
}
} catch(err) {
console.log(err);
}
}

当你得到一个500错误时,你返回一个被拒绝的承诺有什么特别的原因吗?是否有任何理由不抛出一般化错误消息?

相关内容

最新更新