如何从 cognito 异步函数返回响应并将其显示在页面上?

2024-03-10

给出下面的代码,当响应成功或失败时,如何将响应输出回网页?

loginUser(data) {
    var authenticationData = {
      Username : data.email,
      Password : data.password
    };
    var authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails(authenticationData);
    var userPool = new AmazonCognitoIdentity.CognitoUserPool(config.cognito);
    var userData = {
      Username : data.email,
      Pool : userPool
    };
    var cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);
    var output = null;
    cognitoUser.authenticateUser(authenticationDetails, {
      onSuccess: function (result) {
          output = result;
          return output;
      },
      onFailure: function(err) {
          console.log(err);
      },
    });
}

<div id="test_mg"></div>

您可以使用async function and Promise为了从异步调用中获取结果。

function loginUser(data) {
    var authenticationData = {};
    var authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails(authenticationData);
    var userPool = new AmazonCognitoIdentity.CognitoUserPool(config.cognito);
    var userData = {};
    var cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);
    var output = null;
    return new Promise(function(resolve, reject) {
      cognitoUser.authenticateUser(authenticationDetails, {
        onSuccess: resolve,
        onFailure: reject,
      });
    });    
}

async function main() {
    try {
      var output = await loginUser(data);
    } catch(e) {
      console.log(e);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 cognito 异步函数返回响应并将其显示在页面上? 的相关文章