The*_*ler 5 javascript ember.js ember-data
我想在API请求导致404错误时采取特定操作.我已经读过,执行此操作的适当方式是处理应用程序适配器中的错误,如下所示:
handleResponse: function(status, headers, payload){
if(status === 404 && payload.errors){
//handle error
}
return this._super(...arguments);
}
Run Code Online (Sandbox Code Playgroud)
问题是,一旦我设置了适配器,它就不会完成加载页面,所以我可以处理页面本身的错误.相反,它会自动转到一些错误路径,只是说"适配器错误".如何停止/覆盖此行为?
原来,我需要调整应用程序适配器中的handleResponse挂钩,以将新的requestData参数传递给super方法。
handleResponse (status, headers, payload, requestData) {
return this._super(status, headers, payload, requestData);
},
Run Code Online (Sandbox Code Playgroud)
然后我只是将问题中的代码的第一行更改为
handleResponse: function(status, headers, payload) {
Run Code Online (Sandbox Code Playgroud)
至
handleResponse: function(status, headers, payload, requestData) {
Run Code Online (Sandbox Code Playgroud)
然后,我能够捕获并处理错误
| 归档时间: |
|
| 查看次数: |
1127 次 |
| 最近记录: |