gpt4 book ai didi

javascript - AWS Cognito 注册方法上的异步执行错误

转载 作者:行者123 更新时间:2023-11-28 04:37:42 25 4
gpt4 key购买 nike

我正在使用名为 Cognito 的 Amazon Web Service 进行用户管理。

在本地运行很流畅,但在 Wamp 服务器上使用时就不流畅了。

我不明白为什么......可能会导致异步执行?

我正在使用 $q.then(function() { ... }); 来等待它的执行。

这就是我在 Controller 中的做法:

  $scope.validateForm = function() {
if (AuthService.getActifUser() == false) {
//clear local storage
$storage.remove('userData');
}
//getting the form attributes
var datafirstName = {
Name: 'custom:first_name',
Value: $scope.firstName
};
var dataLastName = {
Name: 'custom:last_name',
Value: $scope.lastName
};
var dataEmail = {
Name: 'email',
Value: $scope.email
};
var attributeFirstName = AuthService.setAttributes(datafirstName);
var attributeLastName = AuthService.setAttributes(dataLastName);
var attributeEmail = AuthService.setAttributes(dataEmail);
var attributeList = [];
attributeList.push(attributeFirstName);
attributeList.push(attributeLastName);
attributeList.push(attributeEmail);
// signing try
AuthService.signin($scope.username, $scope.password, attributeList)
.then(function(res) {
// save username in local storage
$storage.set('userData', $scope.username);
// go to the verification page
routeService.goToView('/users-confirmation');
}, function(res) {
console.log(res);
);
}

在 AuthService 工厂中:

  AuthService.signin = function(username, password, attributeList) {
var deferred = $q.defer();
userPool.signUp(username, password, attributeList, null, function(err, result) {
if (err) {
alert(err);
deferred.reject('registering failled.');
}
console.log('successfully registered.');
deferred.resolve('successfully registered.');
});
return deferred.promise;
};

不幸的是,routeService.goToView() 方法从未被调用。

希望有人知道为什么?

最佳答案

您能否为 Promise 拒绝添加一个处理程序,以确保 Promise 不会被拒绝?

可能是您的 promise 被拒绝并且错误被隐藏。另外,invalidPassword 是在哪里定义的?

关于javascript - AWS Cognito 注册方法上的异步执行错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44044646/

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