在js数据库中,我使用addAction()
方法添加了一个自定义查询,如图here所示。现在,当我的服务器在调用该自定义操作时返回4xx错误代码时,将引发错误,但是找不到服务器响应(发送):
store.getMapper('school').getTeacherReports(1234, {
basePath: 'reports'
}).then(function(response) {
console.log('response', response.data)
}).catch(function(err) {
console.log('err', err);
})
该如何处理?有什么我不知道应该使用的方法吗?我已经根据docs尝试了response
中的responseError
和addAction()
属性。
答案 0 :(得分:1)
then
函数可以使用两个参数:
then(
onSuccess: Function,
onRejection: Function
)
因此,这是处理4xx错误导致的拒绝的方法:
store.getMapper('school').getTeacherReports(1234, {
basePath: 'reports'
}).then(
function (response) { // on success
console.log('response', response.data);
},
function (error) { // on error
console.error(error);
},
)
答案 1 :(得分:0)
这与axios有关:拒绝的错误对象确实具有作为属性(source code)的响应,但是在控制台输出中却没有这样显示,因为错误对象在控制台中的显示方式有所不同。 下面显示了基础属性:
store.getMapper('school').getTeacherReports(1234, {
basePath: 'reports'
}).then(function(response) {
console.log('response', response.data)
}).catch(function(err) {
let errorObject = JSON.parse(JSON.stringify(error))
console.log(errorObject)
});