我正在使用Ember的PromiseProxyMixin和AJAX数据调用以及Ember RSVP Promises。我不想在每个路由/模板中加入错误处理,而是将拒绝的承诺冒充到Application路由中的错误处理程序,如下所示:
export default Ember.Route.extend({
actions: {
error: function(error, transition) {
return this.transitionTo('error');
return false;
}
}
});
目前,如果承诺被拒绝,被拒绝的承诺似乎不会出现在应用程序路由中(这是因为PromiseProxyMixin附加到promise的.fail()函数并阻止进一步冒泡?如果是这样,有没有办法继续冒泡?)
是否可以使用PromiseProxyMixin并允许被拒绝的承诺冒泡到Application路由?
答案 0 :(得分:3)
我不确定它会解决你的问题,但我们确实遇到了Es6 promises和jQuery promises的差异,因此我们默认使用以下初始化程序将所有jQuery promise转换为Es6。我们还使用下面的sessionFactory.registerTypeOverride(new com.common.data.type.WMPersistentLocalDateTime(), new String[]{"DateTime"});
方法转换其他“thennables”:
when