이 AWS 람다로 인해 오류가 발생하는 이유 : 경고 : 콜백 / 응답이 이미 전달됨

알버트 가오
  • 나는에 대한 API 게이트웨이 + 람다를 만들어 signUpamazon-cognito-identity-js.
  • 그런 다음 Typescript로 preSignUp에 대한 Cognito 트리거 함수를 구현했습니다.

저는 서버리스 프레임 워크를 사용하여 압축하고 배포합니다. 런타임은 노드 12입니다.

+++++++

  const wrapperHandler: Handler<CognitoUserPoolEvent> = async (
    event,
    context,
    callback
  ) => {
    let error = null;

    try {
      await myAsyncFunc();
    } catch (e) {
      error = e;
    }

    callback(error, event);
  };

모든 것이 잘 작동하며 실제 끝점 람다에 오류를 반환 할 수 있으며 오류가 없으면 논리가 실행됩니다.

그러나이 경고는 매우 성가시다.

코드는 preSignUpCloudWatch 용입니다.

경고 : 콜백 / 응답이 이미 전달되었습니다. 함수가 콜백을 호출하고 약속도 반환 했습니까? 자세한 내용은 https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-handler.html을 참조하십시오.

코드에서 콜백을 호출하기 전에 아무것도 반환하지 않았습니다. 왜 이런 일이 발생합니까? 그리고 그것을 해결하는 방법.

Hoangdv

오류 메시지가 표시되면 콜백 스타일과 async/await스타일을 혼합 하고 경고를 표시합니다.

나는 사용을 선호합니다 async/await. 즉, 핸들러 함수는 항상 비동기 함수 (비동기 키워드 사용)이므로 callback함수 호출 대신 결과를 반환하고 callback핸들러 함수에 매개 변수가 필요하지 않습니다 .

오류가 발생하면 오류를 발생시킵니다 ( try/catch블록 없이 ).

const wrapperHandler: Handler<CognitoUserPoolEvent> = async (
  event,
  context,
  // callback
) => {
  // let error = null;

  try {
    await myAsyncFunc();
  } catch (e) {
    // error = e;
    // Do something  with your error
    throw e;
  }

  // callback(error, event);
  return event; // just return result for handler function
};

간단하게 :

const wrapperHandler: Handler<CognitoUserPoolEvent> = async (
  event,
  context,
) => {
  await myAsyncFunc();

  return event;
};

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

AWS Lex : 오류가 발생했습니다 : 잘못된 Lambda 응답 : 잘못된 슬롯 이름에 대해 Lambda 응답이 유발 됨

분류에서Dev

이 변경으로 인해 세그먼트 오류가 발생하는 이유

분류에서Dev

이로 인해 서버 오류가 발생하는 이유

분류에서Dev

js 콜백 함수에서 오류가 발생하는 이유

분류에서Dev

이 XSD 유효성 검사로 인해 오류가 발생하는 이유

분류에서Dev

"변수 만 참조로 전달해야합니다"오류가 발생하는 이유는 무엇입니까?

분류에서Dev

ASP 응용 프로그램으로 인해 오류 500이 발생하고 서버가 자주 중지됨

분류에서Dev

Python : 발생한 예외를 오류로 인식하고이를 except 문을 통해 전달하는 방법

분류에서Dev

SMS_SEND 권한으로 인해 컴파일 오류가 발생하고 바이러스 백신이 경고됩니다.

분류에서Dev

ImageProcessorCore : 이미지를 리샘플링하려고하면 길이가 0 인 응답이 발생합니다.

분류에서Dev

여기서 '시간 초과로 인해 종료 됨'오류가 발생하는 이유는 무엇입니까?

분류에서Dev

AWS S3의 이미지로 인해 Chrome에 SSL 경고가 표시됨

분류에서Dev

다른 인스턴스가 아닌 Amazon AWS EC2에서만이 오류가 발생하는 이유

분류에서Dev

다른 인스턴스가 아닌 Amazon AWS EC2에서만이 오류가 발생하는 이유

분류에서Dev

콜론이 포함 된 키가있는 중첩 된 해시를 인쇄하려고 할 때 구문 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

Python : 유형 정의 함수에 다른 유형의 인수를 전달해도 오류가 발생하지 않는 이유는 무엇입니까?

분류에서Dev

CIFilter에 대해 "인식 할 수없는 선택기가 클래스로 전송 됨"오류가 발생하는 이유는 무엇입니까?

분류에서Dev

ERRNO 22-Python-잘못된 인수-이 경로로 인해 오류 처리 스크립트에서 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

이 템플릿 변수로 인해 컴파일러 경고가 발생하는 이유는 무엇입니까?

분류에서Dev

std :: thread ()에 템플릿 (사양없이)을 전달하면 오류가 발생합니다. <미해결 오버로드 된 함수 유형> 일치 오류

분류에서Dev

사전 증가 연산자 및 역 참조 연산자로 인해 분할 오류가 발생하는 이유를 이해할 수없는 것 같습니다.

분류에서Dev

AWS-cognito CL에서 사용자 설정으로 로그인하려고 할 때 알 수없는 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

GTX 760 SLI로 인해 드라이버 오류가 발생하고 가끔 충돌이 발생합니다.

분류에서Dev

이 오류가 발생하는 이유를 이해할 수 없습니다.

분류에서Dev

jQuery 콜백으로 인해 페이지로드가 지연됨

분류에서Dev

콜백 ()을 Java로 호출하는 동안 앱이 충돌합니다. detatchThread로 인해 런타임 오류 발생

분류에서Dev

클라이언트에게 응답을 보내고 전체 기능을 즉시 종료하고 다음 콜백으로 돌아 가지 않는 방법

분류에서Dev

참조로 포인터를 전달하려고 할 때이 오류가 발생합니다.

분류에서Dev

파이 게임 프로그램이 응답을 멈추고 오류가 발생하지 않습니다.

Related 관련 기사

  1. 1

    AWS Lex : 오류가 발생했습니다 : 잘못된 Lambda 응답 : 잘못된 슬롯 이름에 대해 Lambda 응답이 유발 됨

  2. 2

    이 변경으로 인해 세그먼트 오류가 발생하는 이유

  3. 3

    이로 인해 서버 오류가 발생하는 이유

  4. 4

    js 콜백 함수에서 오류가 발생하는 이유

  5. 5

    이 XSD 유효성 검사로 인해 오류가 발생하는 이유

  6. 6

    "변수 만 참조로 전달해야합니다"오류가 발생하는 이유는 무엇입니까?

  7. 7

    ASP 응용 프로그램으로 인해 오류 500이 발생하고 서버가 자주 중지됨

  8. 8

    Python : 발생한 예외를 오류로 인식하고이를 except 문을 통해 전달하는 방법

  9. 9

    SMS_SEND 권한으로 인해 컴파일 오류가 발생하고 바이러스 백신이 경고됩니다.

  10. 10

    ImageProcessorCore : 이미지를 리샘플링하려고하면 길이가 0 인 응답이 발생합니다.

  11. 11

    여기서 '시간 초과로 인해 종료 됨'오류가 발생하는 이유는 무엇입니까?

  12. 12

    AWS S3의 이미지로 인해 Chrome에 SSL 경고가 표시됨

  13. 13

    다른 인스턴스가 아닌 Amazon AWS EC2에서만이 오류가 발생하는 이유

  14. 14

    다른 인스턴스가 아닌 Amazon AWS EC2에서만이 오류가 발생하는 이유

  15. 15

    콜론이 포함 된 키가있는 중첩 된 해시를 인쇄하려고 할 때 구문 오류가 발생하는 이유는 무엇입니까?

  16. 16

    Python : 유형 정의 함수에 다른 유형의 인수를 전달해도 오류가 발생하지 않는 이유는 무엇입니까?

  17. 17

    CIFilter에 대해 "인식 할 수없는 선택기가 클래스로 전송 됨"오류가 발생하는 이유는 무엇입니까?

  18. 18

    ERRNO 22-Python-잘못된 인수-이 경로로 인해 오류 처리 스크립트에서 오류가 발생하는 이유는 무엇입니까?

  19. 19

    이 템플릿 변수로 인해 컴파일러 경고가 발생하는 이유는 무엇입니까?

  20. 20

    std :: thread ()에 템플릿 (사양없이)을 전달하면 오류가 발생합니다. <미해결 오버로드 된 함수 유형> 일치 오류

  21. 21

    사전 증가 연산자 및 역 참조 연산자로 인해 분할 오류가 발생하는 이유를 이해할 수없는 것 같습니다.

  22. 22

    AWS-cognito CL에서 사용자 설정으로 로그인하려고 할 때 알 수없는 오류가 발생하는 이유는 무엇입니까?

  23. 23

    GTX 760 SLI로 인해 드라이버 오류가 발생하고 가끔 충돌이 발생합니다.

  24. 24

    이 오류가 발생하는 이유를 이해할 수 없습니다.

  25. 25

    jQuery 콜백으로 인해 페이지로드가 지연됨

  26. 26

    콜백 ()을 Java로 호출하는 동안 앱이 충돌합니다. detatchThread로 인해 런타임 오류 발생

  27. 27

    클라이언트에게 응답을 보내고 전체 기능을 즉시 종료하고 다음 콜백으로 돌아 가지 않는 방법

  28. 28

    참조로 포인터를 전달하려고 할 때이 오류가 발생합니다.

  29. 29

    파이 게임 프로그램이 응답을 멈추고 오류가 발생하지 않습니다.

뜨겁다태그

보관