비동기 및 개요 async/await
3591 단어 webdevjavascriptpromises
async/await
은 <Promise>.then()
보다 더 직관적인 구문에 익숙해지면 비동기 동작을 처리하는 좋은 방법입니다.개요
구문 설탕!?
프라미스는 콜백에 대한 추상화입니다. 잘 모르는 경우에는 콜백에 대해 더 많이 배울 것을 제안합니다. async/await는 약속을 처리하고 특정 동작을 구현하는 구문입니다.
동기식 이점만 있습니까? 아니.
따라서 이러한 동작 중 하나는 호출의 준동기 실행입니다. 다른 데이터보다 먼저 특정 데이터가 필요한 경우 매우 유용할 수 있습니다. 그러나 데이터가 순차적으로 필요하지 않은 경우 데이터를 Promise.all()
에 전달하여 병렬 동작을 허용할 수도 있습니다.
const data = await Promise.all([call1, call2])
위대한 Stack Overflow Answer은 Promise.all이 fail fast에 대해 매우 철저하고 간략하게 설명하는 방법을 다룹니다.
노드 12 async/await는 약속보다 빠릅니다...진심으로!
따라서 async/await
는 Promise의 구문 설탕이므로 Promise는 async/await
보다 빠르고 성능이 우수해야 합니다. 그렇지 않습니다. 깊이 파고들고 싶다면 rabbit hole I welcome you to it, I tried and my head hurts still lol
비동기
약속 생성기
자세한 내용은 다루지 않겠지만 async
는 AsyncFunction을 반환합니다. 그러나 async
를 사용하여 선언하면 함수가 훨씬 더 동기적으로 작동하므로 async function Something(){}
이 함수는 이제 약속을 반환합니다.
예
나는 또한 try/catch
로 오류를 처리하기 위해 async/await
를 사용하고 싶습니다.
async function someCall(someAPIURL) {
const data = fetch(`${someAPIURL}`, { method: "GET" });
return data;
}
let data;
try {
data = await someCall(
`https://www.googleapis.com/books/v1/volumes?q=isbn:0747532699`);
} catch(error){
data = error
}
console.log(data)
Reference
이 문제에 관하여(비동기 및 개요 async/await), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/jacobmgevans/async-await-promises-45b6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
const data = await Promise.all([call1, call2])
약속 생성기
자세한 내용은 다루지 않겠지만
async
는 AsyncFunction을 반환합니다. 그러나 async
를 사용하여 선언하면 함수가 훨씬 더 동기적으로 작동하므로 async function Something(){}
이 함수는 이제 약속을 반환합니다.예
나는 또한
try/catch
로 오류를 처리하기 위해 async/await
를 사용하고 싶습니다.async function someCall(someAPIURL) {
const data = fetch(`${someAPIURL}`, { method: "GET" });
return data;
}
let data;
try {
data = await someCall(
`https://www.googleapis.com/books/v1/volumes?q=isbn:0747532699`);
} catch(error){
data = error
}
console.log(data)
Reference
이 문제에 관하여(비동기 및 개요 async/await), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jacobmgevans/async-await-promises-45b6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)