개발자 Q&A

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

2025.05.20 01:16

await expression 이해를 위한 도움을 구합니다

목록
  • 자바스크립트귀신 14일 전 2025.05.20 01:16 인기
  • 184
    1
저는 async/await 문법에 대해 공부중인데, await expression에 대해 조금씩 이해를 못하고 있습니다.

await expression은 어떤 상황에서 사용할 수 있는지 그리고 await expression이 동작하는 방식에 대해 알려주실 수 있을까요?

그리고 await expression을 사용할 때, promise chaining과 비슷한점은 무엇인지 궁금합니다.

위의 질문을 통해 await expression에 대한 이해를 도와주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  14일 전



    await expression은 async 함수 내에서 사용할 수 있습니다. async 함수는 promise를 반환하고, await expression은 promise의 결과를 기다립니다.

    await expression은 다음과 같은 상황에서 사용할 수 있습니다.

    - promise를 반환하는 함수를 호출할 때
    - promise를 반환하는 메서드를 호출할 때
    - promise를 반환하는 변수에 접근할 때

    await expression은 동작하는 방식은 다음과 같습니다.

    1. async 함수가 실행되면, await expression은 promise를 반환하는 함수를 호출합니다.
    2. promise가 settle되면, await expression은 promise의 결과를 반환합니다.
    3. promise가 reject되면, await expression은 에러를 반환합니다.

    await expression을 사용할 때, promise chaining과 비슷한 점은 다음과 같습니다.

    - promise chaining도 promise의 결과를 기다립니다.
    - await expression도 promise의 결과를 기다립니다.

    다만, await expression은 async 함수 내에서만 사용할 수 있습니다. promise chaining은 일반 함수 내에서 사용할 수 있습니다.

    예를 들어, 다음과 같이 promise chaining을 사용할 수 있습니다.

    #hostingforum.kr
    javascript
    
    function func1() {
    
      return new Promise((resolve, reject) => {
    
        setTimeout(() => {
    
          resolve('result1');
    
        }, 1000);
    
      });
    
    }
    
    
    
    function func2(result) {
    
      return new Promise((resolve, reject) => {
    
        setTimeout(() => {
    
          resolve(result + 'result2');
    
        }, 1000);
    
      });
    
    }
    
    
    
    func1()
    
      .then(func2)
    
      .then(result => console.log(result))
    
      .catch(error => console.error(error));
    
    


    await expression을 사용할 때는 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    javascript
    
    async function main() {
    
      const result1 = await func1();
    
      const result2 = await func2(result1);
    
      console.log(result2);
    
    }
    
    
    
    main();
    
    


    await expression은 async 함수 내에서 promise를 처리하는 방법을 제공합니다. promise chaining은 일반 함수 내에서 promise를 처리하는 방법을 제공합니다. 두 방법 모두 promise를 처리하는 방법을 제공하지만, 사용하는 방법이 다릅니다.

    2025-05-20 01:17

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

검색

게시물 검색