-예상하다
비동기 함수를 동기식으로 실행하는 데 사용
비동기 함수 내에서만 사용할 수 있습니다.
대기는 약속에 사용됩니다.
전)
getName(‘마이크’)을 기다립니다.
위의 코드는 getName 약속이 처리되기를 기다리고 있습니다.
-비동기
일반 함수를 약속을 반환하는 비동기 함수로 바꿉니다. => 함수에서 await를 사용할 수도 있습니다.
– 비동기 및 대기로 약속 코드 단순화
비동기 함수 실행(){
대기 타이머(1000)
console.log(‘태스크1’)
대기 타이머(1000)
console.log(‘태스크2’)
대기 타이머(1000)
console.log(‘태스크3’)
}
달리다();
async 및 await를 사용하면 변경 스타일 약속을 사용할 때보다 가독성이 향상됩니다.
– async 내의 await 함수는 비동기적으로 실행됩니다.
console.log(‘시작’);
달리다();
console.log(‘종료’);
코드 실행 결과
시작하다
작업 1
끝
연습 2
작업 3
함수 앞에 async를 넣으면 함수는 암시적으로 약속을 반환합니다.
비동기 함수에서 await를 사용할 수도 있습니다.
비동기 함수의 반환 값이 약속이면 약속은 변경되지 않고 반환됩니다.
var result = run() 대기;
위와 같이 Promise를 반환하고 반환 값을 결과에 저장하여 비동기적으로 실행할 수 있습니다.
전)
var time = 타이머 대기(1000); // 타이머는 약속을 반환합니다.
위의 코드에서 타이머가 반환한 Promise의 결과는 원래 then으로 콜백 함수로 받도록 되어 있었지만 await로 변수로 받을 수 있습니다.
– 오류 처리
Promise에서 오류 처리는 catch에서 수행되지만 async 및 await에서는 try-catch 문으로 처리됩니다.
비동기 함수 내에서 예외가 발생하면 거부된 약속을 반환합니다. >> catch로 확인합니다.
참조:
https://www.youtube.com/watch?v=4_WLS9Lj6n4
https://www.youtube.com/watch?v=1z5bU-CTVsQ