在js-data库中,我添加了一个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);
})
我该怎么处理?有什么方法我不知道应该用吗?我已经根据response
在responseError
尝试了addAction()
和docs属性。
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);
},
)
这与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)
});