콜백 함수가 비동기 함수 내에서 실행되지 않는 이유는 무엇입니까?

덩크 오레오

AWS SDK를 사용하고 있으며 Lambda를 사용하여이 코드를 실행하고 있습니다. 비동기 함수 내에서 콜백과 함께 업로드 함수를 사용하면 함수가 실행되지 않는다는 것을 알았습니다.

const aws = require('aws-sdk');

exports.handler = async (event) => {
  const s3 = new aws.S3();
  console.log('START UPLOAD')

  const params = {
    Bucket: 'practice-bucket',
    Key: 'hello.txt',
    Body: "hello",
  }
  
  s3.upload(params, function(err, data) {
    console.log(err, data);
  });

};

나는 이것을 작동시키는 방법을 안다. 함수를 비동기가 아닌 함수로 변경하거나 await를 사용하고 upload ()의 응답을 promise로 전환합니다. 하지만 왜 upload () 함수를 실행하지 않는지 궁금합니다. 나는 그것을 기다리라고 말하지 않기 때문에 그냥 정규 함수로 실행하기를 기대하고 있습니다.

데이비드 웹스터

이것이 s3.upload가 완료되기 전에 함수가 반환되는 경우 Javascript의 이벤트 루프가 비동기 함수와 함께 작동하는 방식입니다.

s3.upload를 promise로 변환 한 다음 await를 사용하여 결과를 얻고 비동기 처리기의 반환을 차단하여이 문제를 해결할 수 있습니다.

await result = s3.upload(params).promise();

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

콜백에서 함수가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

React useEffect 정리 함수가 useEffect 콜백 직후에 실행되고 다시는 실행되지 않는 이유는 무엇입니까?

분류에서Dev

DispatchQueue를 사용하는 동안 내 함수가 실행되지 않는 이유는 무엇입니까?

분류에서Dev

내 함수가 파이썬 코드에서 실행되지 않는 이유는 무엇입니까?

분류에서Dev

Node.js가 콜백 함수를 실행하지 않는 이유는 무엇입니까?

분류에서Dev

내 C # 함수가 Ajax Javascript 코드에서 실행되지 않는 이유는 무엇입니까?

분류에서Dev

내 C # 함수가 Ajax Javascript 코드에서 실행되지 않는 이유는 무엇입니까?

분류에서Dev

주어진 함수가 <x> 초 내에 호출되지 않은 경우 신속하게 콜백을 실행하는 방법은 무엇입니까?

분류에서Dev

사용 된 콜백 함수가 Cordova에서 동일한 지 확인하는 방법은 무엇입니까?

분류에서Dev

내 콜백이 함수가 아닌 이유는 무엇입니까?

분류에서Dev

내 비동기 함수가 결과를 반환하지 않는 이유는 무엇입니까?

분류에서Dev

함수 내에서 작동하지 않는 JavaScript 경고 콜백

분류에서Dev

창 크기가 조정되기 전에 내 함수가 실행되는 이유는 무엇입니까?

분류에서Dev

비동기 함수에서 정의되지 않은 값을 얻는 이유는 무엇입니까?

분류에서Dev

콜백 함수에는 'this'가 표시되지 않습니다.

분류에서Dev

내 DeleteNode () 함수가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 % d 함수가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

다음 스크립트의 콜백 함수가 호출되지 않는 이유는 무엇입니까?

분류에서Dev

Array.map 함수 내에서 JS 슬라이스가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

유성에서 ajaxcall에서 콜백 함수가 작동하는 방법은 무엇입니까?

분류에서Dev

내 클래스 변수가 _construct 함수에 의해 초기화되지 않는 이유는 무엇입니까?

분류에서Dev

이 콜백 함수가 bind. (this)를 추가하지 않는 이유는 무엇입니까?

분류에서Dev

내 printf 함수의 가변 함수가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

rbind가 사용자 정의 함수 내에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

Meteor.user ()가 게시 함수 내에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

.forEach ()가 Array.prototype.fillB () 내에서 작동하지 않는 이유는 무엇입니까? (커스텀 함수)

분류에서Dev

String.Prototype replace가 중첩 함수 내에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 쿼리에서 Neo4j None 함수가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 플러그인에서 remove_meta_box () 함수가 작동하지 않는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    콜백에서 함수가 작동하지 않는 이유는 무엇입니까?

  2. 2

    React useEffect 정리 함수가 useEffect 콜백 직후에 실행되고 다시는 실행되지 않는 이유는 무엇입니까?

  3. 3

    DispatchQueue를 사용하는 동안 내 함수가 실행되지 않는 이유는 무엇입니까?

  4. 4

    내 함수가 파이썬 코드에서 실행되지 않는 이유는 무엇입니까?

  5. 5

    Node.js가 콜백 함수를 실행하지 않는 이유는 무엇입니까?

  6. 6

    내 C # 함수가 Ajax Javascript 코드에서 실행되지 않는 이유는 무엇입니까?

  7. 7

    내 C # 함수가 Ajax Javascript 코드에서 실행되지 않는 이유는 무엇입니까?

  8. 8

    주어진 함수가 <x> 초 내에 호출되지 않은 경우 신속하게 콜백을 실행하는 방법은 무엇입니까?

  9. 9

    사용 된 콜백 함수가 Cordova에서 동일한 지 확인하는 방법은 무엇입니까?

  10. 10

    내 콜백이 함수가 아닌 이유는 무엇입니까?

  11. 11

    내 비동기 함수가 결과를 반환하지 않는 이유는 무엇입니까?

  12. 12

    함수 내에서 작동하지 않는 JavaScript 경고 콜백

  13. 13

    창 크기가 조정되기 전에 내 함수가 실행되는 이유는 무엇입니까?

  14. 14

    비동기 함수에서 정의되지 않은 값을 얻는 이유는 무엇입니까?

  15. 15

    콜백 함수에는 'this'가 표시되지 않습니다.

  16. 16

    내 DeleteNode () 함수가 작동하지 않는 이유는 무엇입니까?

  17. 17

    내 % d 함수가 작동하지 않는 이유는 무엇입니까?

  18. 18

    다음 스크립트의 콜백 함수가 호출되지 않는 이유는 무엇입니까?

  19. 19

    Array.map 함수 내에서 JS 슬라이스가 작동하지 않는 이유는 무엇입니까?

  20. 20

    유성에서 ajaxcall에서 콜백 함수가 작동하는 방법은 무엇입니까?

  21. 21

    내 클래스 변수가 _construct 함수에 의해 초기화되지 않는 이유는 무엇입니까?

  22. 22

    이 콜백 함수가 bind. (this)를 추가하지 않는 이유는 무엇입니까?

  23. 23

    내 printf 함수의 가변 함수가 작동하지 않는 이유는 무엇입니까?

  24. 24

    rbind가 사용자 정의 함수 내에서 작동하지 않는 이유는 무엇입니까?

  25. 25

    Meteor.user ()가 게시 함수 내에서 작동하지 않는 이유는 무엇입니까?

  26. 26

    .forEach ()가 Array.prototype.fillB () 내에서 작동하지 않는 이유는 무엇입니까? (커스텀 함수)

  27. 27

    String.Prototype replace가 중첩 함수 내에서 작동하지 않는 이유는 무엇입니까?

  28. 28

    내 쿼리에서 Neo4j None 함수가 작동하지 않는 이유는 무엇입니까?

  29. 29

    내 플러그인에서 remove_meta_box () 함수가 작동하지 않는 이유는 무엇입니까?

뜨겁다태그

보관