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回答
0

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

profile picture
エキスパート
回答済み 6ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ