일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- JPA
- js await
- JPA준영속 상태
- jpa 플러시
- javascript fetch
- 준영속상태
- JavaScript
- springboot gradle 모듈 프로젝트
- js async await
- ja async
- js api 호출
- JS
- javascript async await
- javascript api 호출
- 코틀린
- jpa 플러쉬
- 코틀린 클래스
- Flutter
- jpa준영속
- springboot 모듈
- jpa 영속성
- js fetch
- JPA플러쉬
- spring gradle 모듈
- gradle 모듈 프로젝트
- spring 모듈 프로젝트
- JPA플러시
- 스프링부트
- javascript async
- 코프링
Archives
- Today
- Total
매일 한줄 코딩
14. javascript async & await ( 직관적인 비 동기 처리 ) 본문
1. async
function hello() {
return "shipjh Hi~";
}
**async** function helloAsync() {
return "Hi async";
}
console.log(hello()); //shipjh Hi~
console.log(helloAsync()); // Promise {<pending>} 반환
async 를 붙인 함수는 Promise를 반환했다.
그렇다면..
then 을 쓸수있다.
async function helloAsync() {
return "Hi async"; // resolve의 효과
}
helloAsync().then((res) => {
console.log(res); // Hi async
});
💡async 를 사용한 함수는 Promise 를 반환한다.!
2. await
3초후에 실행하려고 하는데 코드가 너무길다.
function delay(ms) {
return new Promise((success) => {
setTimeout(success, ms);
});
}
async function helloAsync() {
**return delay(3000).then(() => {
return "Hi async";
});**
}
helloAsync().then((res) => {
console.log(res);
});
간단하게 await 을 사용하면 된다.
function delay(ms) {
return new Promise((success) => {
setTimeout(success, ms);
});
}
async function helloAsync() {
await delay(3000); // delay 를 처리된후 return 한다.
return "Hi async";
}
helloAsync().then((res) => {
console.log(res);
});
await는 비동기 함수의 호출을 동기적으로 처리하게 된다.
즉 await 를 붙인 함수호출이 있을경우 뒤에있는 것을 실행하지 않고 기다렸다가, 완료되면 처리하게 된다.
await 은 async 함수 내에서만 사용이 가능하다.
'develop > javascript' 카테고리의 다른 글
15. javascript fetch 를 활용해 api 호출해보기 (0) | 2022.09.11 |
---|---|
13. javascript Promise (0) | 2022.09.11 |
12. javascript 동기 / 비동기 (0) | 2022.09.11 |
11. javascript spread 연산자 ( … ) (0) | 2022.09.11 |
10. javascript 비 구조화 할당 (0) | 2022.09.11 |
Comments