Javascript 当我最终没有模型时,我应该从余烬路线的模型函数返回什么?
我的用户路由Ember 1.9中有以下内容,以便在url中有非int参数时,我可以先发制人地避免让Ember数据调用我的服务器:Javascript 当我最终没有模型时,我应该从余烬路线的模型函数返回什么?,javascript,ember.js,Javascript,Ember.js,我的用户路由Ember 1.9中有以下内容,以便在url中有非int参数时,我可以先发制人地避免让Ember数据调用我的服务器: MyApp.UserRoute = Ember.Route.extend({ model: function (params, transition) { var identifier = params.identifier; if (isNaN(parseInt(identifier))) { this
MyApp.UserRoute = Ember.Route.extend({
model: function (params, transition) {
var identifier = params.identifier;
if (isNaN(parseInt(identifier))) {
this.intermediateTransitionTo("error", new Error("oops"));
return true;
}
else {
return this.store.find('user', identifier);
}
}
});
我返回true是因为这显然会导致错误事件冒泡。这工作得很好,但由于转换没有完全中断或中止,它变得很奇怪,因此它继续执行我的UserIndexRoute:
MyApp.UserIndexRoute = Ember.Route.extend({
redirect: function(model){
model.get('someprop'); //blows up because get is undefined on true
}
});
是否有一个标准的返回值,它的行为就像一个失败的承诺?我认为中间翻译是错误的。。。另外,UserRoute中的失败承诺将立即使Ember转换为错误,而无需在AccountIndexController上调用重定向
我在错误处理教程中看到过一些示例,其中要拒绝承诺,新的Ember.RSVP.promise会返回一个包含拒绝错误的文件,但我不知道这是否适用于生产