Ember - JSON API适配器错误处理

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)

问题是,一旦我设置了适配器,它就不会完成加载页面,所以我可以处理页面本身的错误.相反,它会自动转到一些错误路径,只是说"适配器错误".如何停止/覆盖此行为?

The*_*ler 6

原来,我需要调整应用程序适配器中的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)

然后,我能够捕获并处理错误