Я не могу получить данные ember-data, чтобы отклонить неудачные (404-е) при использовании findQuery (.. query ..); найти (.. ID ..); работает отлично.Обработка отклонения обещания в ember-данных с помощью findQuery()
Так в маршруте:
App.PostRoute = Ember.Route.extend({
serialize: function(model, params) {
return { post_id: model.get('slug') };
},
model: function(params){
var query = {};
query.slugs = params.post_id;
return App.Post.findQuery(query).then(
function (data) {
return data.get('firstObject');
},
function (error) {
console.log('error');
throw 'boom!';
}
)
},
setupController: function(controller, model){
this.controllerFor('post').set('content', model);
},
events: {
error: function (reason, transition) {
console.log('Error!');
}
}
});
Я также попытался это:
return App.Post.findQuery(query).then(function (data) {
return data.get('firstObject');
}).then(null, function (error) {
console.log('error');
throw 'boom!';
});
Нет радости. Я вижу запрос к URL-адресу, возвращающемуся как 404, но ошибка обещаний никогда не срабатывает. Что мне не хватает?
Это еще проблема? Код кажется правильным, но может быть и другое, что показалось бы, если бы у вас был JSBin/скрипка. –