(JavaScript) 비동기, 대기

-예상하다

비동기 함수를 동기식으로 실행하는 데 사용

비동기 함수 내에서만 사용할 수 있습니다.

대기는 약속에 사용됩니다.

전)

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