gpt4 book ai didi

rest - 在将模型分配给模板时,无法在 Ember JS setupController Hook 中捕获 404 错误(找不到资源)

转载 作者:行者123 更新时间:2023-12-03 07:43:29 24 4
gpt4 key购买 nike

我有一条路线 /users/:user_id在 emberjs 应用程序中,我将模型分配给 App.UserRoute 类的 setupController Hook 中的模板,如下所示:

controller.store.find('user', model.id).then(onSuccess, onError);

var onSuccess = function(user) {

if(user) {
// reload Model to forcefully fetch from server
user.reload().then(function() { /* some processing */ }, function(error_response) { /* some error handling */ });

// assign model for user
controller.set('model', user);
}
};

var onError = function(reason) { /* some error handling */ };

现在,当我正在寻找不存在的用户 ID 时,这给了我来自服务器的错误 404。我正在 try catch 此错误并显示适当的消息并重定向到所有用户的列表( /users)。但我无法捕捉到它,并且我从 ember 收到错误: Error while loading route: undefined .我怎样才能做到这一点?

最佳答案

真正的事情是你正在传递undefined给您的then方法。您应该将回调函数的声明移到 promise 代码之前。

var onSuccess = function(user) {

if(user) {
// reload Model to forcefully fetch from server
user.reload().then(function() { /* some processing */ }, function(error_response) { /* some error handling */ });

// assign model for user
controller.set('model', user);
}
};

var onError = function(reason) { /* some error handling */ };

controller.store.find('user', model.id).then(onSuccess, onError);

关于rest - 在将模型分配给模板时,无法在 Ember JS setupController Hook 中捕获 404 错误(找不到资源),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23605091/

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