До тех пор, пока некоторые более сложные обработки на протяжении данных Ember ошибка, вы могли бы сделать что-то вроде следующего для обработки ошибок в сети в сквозной путь:
Расширение RESTAdapter для разбора ошибок от объекта XHR
App.ApplicationAdapter = DS.RESTAdapter.extend({
ajaxError: function (jqXHR) {
jqXHR = this._super(jqXHR) || {status : 'unknown'};
var error;
if (jqXHR.status === 404) {
error = 'not_found';
} else if (...) {
...
} else {
error = 'dunno';
}
return error;
}
});
Расширение магазина публиковать события ошибок, когда плохие вещи случаются
App.Store = DS.Store.extend(Ember.Evented, {
recordWasError: function (record, reason) {
this._super.apply(this, arguments);
this.trigger('error', reason);
}
});
Поймайте ошибка в вашем приложении Маршрут
App.ApplicationRoute = Ember.Route.extend({
setupController: function() {
this.get('store').on('error', function (error) {
// Do something with the error
console.error(error);
});
},
...
});
Я не совсем понимаю ваш вопрос. Но ради общей информации. Ember-Data все еще находится в разработке, и большой план заключается в том, чтобы повысить общую обработку ошибок. [Этот блог проливает свет на это.] (Http://emberjs.com/blog/2013/05/28/ember-data-0-13.html) –
Я это знаю. Мои вопросы: как я поймаю ошибку, если серверные данные-api не будут отвечать. Я делаю это согласно моему примеру. Но он создается только для маршрута приложения, но мне нужно его для каждого store.find(). –
Может быть, чрезмерная поездка в магазины, чтобы найти метод для предупреждения об ошибках? –