Javascript 承诺总是成功的| AngularJS
我有一个正在处理身份验证服务的服务。我有另一个服务处理对客户端响应服务的响应。然后我有一个控制器,它利用这些服务注册控制器 我正在用一封我知道已经存在的电子邮件注册,希望看到toastr错误声明。当我单击submit按钮时,它会触发AuthService.signup。当它从我的api收到409时,它会正确地遵循正确的错误响应,并在我的屏幕上显示错误。但是,正如SignupControlr.js中的onSuccess函数所述,页面被重定向到仪表板。为什么呢 注册控制器: AuthService.signup: ResponseService.error: 正因为如此: 在承诺链接中,如果不返回任何内容,则实际上是为未定义的值返回已解析的承诺 我必须编辑我的AuthService:Javascript 承诺总是成功的| AngularJS,javascript,angularjs,Javascript,Angularjs,我有一个正在处理身份验证服务的服务。我有另一个服务处理对客户端响应服务的响应。然后我有一个控制器,它利用这些服务注册控制器 我正在用一封我知道已经存在的电子邮件注册,希望看到toastr错误声明。当我单击submit按钮时,它会触发AuthService.signup。当它从我的api收到409时,它会正确地遵循正确的错误响应,并在我的屏幕上显示错误。但是,正如SignupControlr.js中的onSuccess函数所述,页面被重定向到仪表板。为什么呢 注册控制器: AuthService.
.catch(function onError(res) {
return ResponseService.error(res);
});
另外-我需要在AuthService中的所有.catch{}中返回$q.reject
signup: function (email, password, name, company, reCaptcha) {
return $http.put('/api/user/signupWithEmail', {
email: email,
password: password,
company: company,
name: name,
reCaptcha: reCaptcha
})
.then(function onSuccess (res){
$localStorage.userHash = res.data.user;
$auth.setToken(res.data.token);
console.log('Pass');
})
.catch(function onError(res) {
ResponseService.error(res);
console.log('Fail');
});
}
return {
error: function (res) {
if (res.status === 500) {
return toastr.error('An unexpected error occurred, please try again later.', 'Error', {
closeButton: true
});
} else if (res.status === 404) {
return toastr.error('Invalid email/password combination.', 'Error', {
closeButton: true
});
} else if (res.status === 401) {
return toastr.error('You are not allowed access to this resource.', 'Error', {
closeButton: true
});
} else if (res.status === 409) {
return toastr.error('That email address is already taken. Please try again.', 'Error', {
closeButton: true
});
}
}
};
.catch(function onError(res) {
return ResponseService.error(res);
});