gpt4 book ai didi

ember.js - 我如何知道 Promise 的拒绝处理程序中的错误原因?

转载 作者:行者123 更新时间:2023-12-02 06:11:24 26 4
gpt4 key购买 nike

我使用 find 方法编写了一些代码,如下所示。
适配器是 RESTAdapter。

App.SessionManager = Em.Object.extend({
userIdChanged: function() {
App.User.find(this.get('userid')).then(
function(user) {
/* process something */
},
function(error) {
/* rejection handler */
/* I want to know what error returned by the server here.*/
/* but how? */
}
);
}.observes('userid'),
});

如果我的服务器返回了一些错误(例如 401),则会调用拒绝处理程序。
但似乎 handler 的参数没有错误信息。
我如何知道拒绝处理程序中的错误原因?

最佳答案

对服务器返回的错误的处理尚未在 ember 数据中完全实现。
供引用,如 this blog post 中所述关于 ember 数据:

We want to make error handling and dealing with client and server conflicts rock solid. A pull request from Paul Chavard is currently open and looks like a solid starting point for error handling. You should see much more development on this in the near future.



但是,您可以同时采取一些解决方法来获取该信息。

例如:
Ember.RSVP.configure('onerror', function(error) {
console.log(error.message);
console.log(error.stack);
});

或者使用肮脏的黑客来获取该信息。由于 ember-data 在后台使用 jQuery,您可以订阅 ajaxError :
$(document).ajaxError(function(event, jqXHR, ajaxSettings, thrownError) {
// this will trigger anytime there is an error
});

希望能帮助到你。

关于ember.js - 我如何知道 Promise 的拒绝处理程序中的错误原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18458035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com