javascript - Ember -- JSON API 适配器错误处理

标签 javascript ember.js ember-data

我想在 API 请求导致 404 错误时采取特定操作。我读过,执行此操作的适当方法是处理应用程序适配器中的错误,如下所示:

  handleResponse: function(status, headers, payload){
    if(status === 404 && payload.errors){
      //handle error
    }
    return this._super(...arguments);
  }

问题是,一旦我设置了适配器,它就不会完成加载页面,所以我可以处理页面本身的错误。相反,它会自动将我带到一些只显示“适配器错误”的错误路径。我怎样才能停止/覆盖这种行为?

最佳答案

原来我需要调整应用程序适配器中的 handleResponse Hook ,以将新的 requestData 参数传递给 super 方法。

handleResponse (status, headers, payload, requestData) {
    return this._super(status, headers, payload, requestData);
},

然后我只是将问题中的第一行代码从

handleResponse: function(status, headers, payload) {

handleResponse: function(status, headers, payload, requestData) {

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

关于javascript - Ember -- JSON API 适配器错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35831122/

相关文章:

javascript - 为什么 "this"不等于调用该函数的对象?

javascript - ember js 在我的路线上触发操作

javascript - 了解 emberjs 模型初始化和依赖关系

javascript - if 测验的条件

javascript - 从对象的嵌套数组中返回匹配的项目

JavaScript : how to Convert date string "Thu Apr 23 2015 00:00:00 GMT+0200 (CEST)" to timestamp?

javascript - DS.RESTAdapter.map 未定义

ember.js - 仅当从 didInsertElement 调用 get ('controller' )时,从 View 观察 Controller 属性才有效

javascript - Emberjs 将多个 Controller 加载到一个 Controller 中

ember.js - Ember-data RecordArray isLoaded 状态