flutter:CreateAuthChallenge失败,错误为SyntaxError:await只能在异步函数中使用

0

【以下的问题经过翻译处理】 在 AuthenticatorForm() 中点击 signUpButton() 时出现标题为“Getting the captioned error message”的错误消息。看起来是一个非常简单直观的错误消息,但似乎无法确定问题出在哪里。

以下是我的 createAuthChallenge.js

const digitGenerator = require('crypto-secure-random-digit');

function sendSMS(phone, code) {
  const params = {
    Message: code,
    PhoneNumber: phone,
  };
  return new AWS.SNS({apiVersion: '2010-03-31'}).publish(params).promise();
}

async function createAuthChallenge(event) {
  if (event.request.challengeName === 'CUSTOM_CHALLENGE') {
    const randomDigits = digitGenerator.randomDigits(6).join('');
    const challengeCode = String(randomDigits).join('');
    await sendSMS(event.request.userAttributes.phone_number, challengeCode);
  
    event.response.privateChallengeParameters = {};
    event.response.privateChallengeParameters.answer = challengeCode;
  }
}

exports.handler = async (event) => {
  createAuthChallenge(event);
};

这是相同项目的 package.json

{
  "name": "XYZ",
  "version": "2.0.0",
  "description": "Lambda function generated by Amplify",
  "main": "index.js",
  "license": "Apache-2.0",
  "devDependencies": {
    "@types/aws-lambda": "^8.10.92"
  },
  "dependencies": {
    "crypto-secure-random-digit": "^1.0.9"
  }
}


我似乎找不到正确的解决方案,请问有人可以帮忙吗?

1 Antwort
0

【以下的回答经过翻译处理】 我不完全确定上述错误消息的根本原因,但上述代码没有问题。 我重新从amplify delete开始做起,然后进行了amplify init,amplify add auth,将lambdas添加到本地,最后进行了amplify push。 现在一切都正常了,很可能是我没有察觉到的一些奇怪错误。

profile picture
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen