개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.02 21:19

async function myFunc() {} 관련 질문

목록
  • 프로그래밍도깨비 2일 전 2025.04.02 21:19
  • 4
    1
제가 async function myFunc() {}를 사용하여 비동기 함수를 만들려고 합니다. 그러나, 제 함수 내에서 await 키워드를 사용할 때 await 뒤의 코드가 동기적으로 실행되는 것을 알게 되었습니다. 이 현상은 왜 발생하는 것일까요? await 키워드 뒤의 코드가 동기적으로 실행되는 것을 막는 방법이 있을까요?

    댓글목록

    profile_image
    나우호스팅  2일 전



    await 키워드 뒤의 코드가 동기적으로 실행되는 이유는, await 키워드는 Promise를 기다리는 것이지, 함수 내부의 코드를 동기적으로 실행하는 것이 아니기 때문입니다. await 키워드는 현재 함수의 실행을 중단하고, Promise가 resolve되기를 기다립니다.

    만약, await 키워드 뒤의 코드가 동기적으로 실행되길 원한다면, 그 코드를 별도의 함수로 분리하고, 그 함수를 await 키워드 뒤에 호출하면 됩니다.

    예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

    #hostingforum.kr
    javascript
    
    async function myFunc() {
    
      await myAsyncCode();
    
      // await 키워드 뒤의 코드는 동기적으로 실행됩니다.
    
    }
    
    
    
    function myAsyncCode() {
    
      // 비동기 코드를 여기에 작성합니다.
    
      return new Promise((resolve) => {
    
        setTimeout(() => {
    
          resolve();
    
        }, 1000);
    
      });
    
    }
    
    


    이러한 방법으로, await 키워드 뒤의 코드가 동기적으로 실행되도록 할 수 있습니다.

    2025-04-02 21:20

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 9,212건 / 49 페이지

검색

게시물 검색