티스토리 뷰

728x90
반응형

async function 선언은 AsyncFunction객체를 반환하는 하나의 비동기 함수를 정의한다.

비동기 함수는 이벤트 루프를 통해 비동기적으로 작동하는 함수로, 암시적으로 Promise를 사용하여 결과를 반환한다.

그러나 비동기 함수를 사용하는 코드의 구문과 구조는, 표준 동기 함수를 사용하는 것과 많이 비슷하다.

 

- AsyncFunctionAsyncFunction 생성자는 새로운 async function 객체를 만든다.

자바스크립트에서 모든 비동기 함수는 사실상 AsyncFunction 객체이다.

- Promise : 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타낸다.

function resolveAfter2Seconds() {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve('resolved');
    }, 2000);
  });
}

async function asyncCall() {
  console.log('calling');
  var result = await resolveAfter2Seconds();
  console.log(result);
  // expected output: 'resolved'
}

asyncCall(); 
//결과 
//> "calling"
//> "resolved"

async 함수에는 await식이 포함될 수 있다. 이 식은 async 함수의 실행을 일시 중지하고 전달 된 Promise의 해결을 기다린 다음 async 함수의 실행을 다시 시작하고 완료후 값을 반환한다. await 키워드는 async 함수에서만 유효하다.

async 함수의 본문 외부에서 사용하면 SyntaxError가 발생한다.

 

참조 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/async_function

 

async function

async function 선언은 AsyncFunction객체를 반환하는 하나의 비동기 함수를 정의합니다. 비동기 함수는 이벤트 루프를 통해 비동기적으로 작동하는 함수로, 암시적으로 Promise를 사용하여 결과를 반환합니다. 그러나 비동기 함수를 사용하는 코드의 구문과 구조는, 표준 동기 함수를 사용하는것과 많이 비슷합니다.

developer.mozilla.org

 

728x90
반응형

'Programming language > javascript' 카테고리의 다른 글

디바이스 정보 알아내기.  (0) 2019.06.08
html2canvas.js를 이용한 화면 캡쳐  (0) 2019.04.24
gulp4.0 및 babel 설정  (0) 2019.03.20
Array/Object Method  (0) 2019.02.27
typescript 노트  (0) 2019.01.30
댓글