Recent Posts
Recent Comments
Archives
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
Tags
- 모던자바스크립트
- js
- git
- nextjs
- React
- vscode
- 코테
- 모던 자바스크립트
- deep dive
- 프로그래머스
- 자주 까먹는
- domain
- 코드카타
- 프로젝트 셋팅
- array정적메서드
- 오블완
- 소셜 로그인
- useRouter
- 셋팅
- 구글 로그인
- 티스토리챌린지
- vercel
- Next
- 스파르타코딩클럽
- 코딩테스트
- CORS
- error
- 리터럴
- 초기셋팅
- 내일배움캠프
- Today
- Total
파피루스
[Javascript] 자주 까먹는 generator 본문
함수 선언시 function* (){}와 같이 *을 붙여서 선언한다. 함수 내부에서 yield가 있을 때마다 멈추고 대기 상태가 되며, next가 실행될 때마다 대기하던 yield를 지나쳐 실행된다.
var addCoffee = function (name) {
return new Promise(resolve => {
setTimeout(() => {
coffeMaker.next(prevName ? `${prevName}, ${name}` : name;
}, 500);
});
}
var coffeGenerator = function* () {
const espresso = yield addCoffee("", "에스프레소");
console.log(espresso); // 에스프레소
const americano = yield addCoffee(espresso, "아메리카노");
console.log(americano); // 에스프레소, 아메리카노
const mocha = yield addCoffee(americano, "카페모카");
console.log(mocha); // 에스프레소, 아메리카노, 카페모카
const latte = yield addCoffee(mocha, "카페라떼");
console.log(latte); // 에스프레소, 아메리카노, 카페모카, 카페라떼
};
var coffeMaker = coffeGenerator();
coffeMaker.next();
'Today I Learned' 카테고리의 다른 글
프로그래머스 코딩테스트, 몫 구하기 (parseInt vs Math.floor) (0) | 2024.05.15 |
---|---|
프로그래머스 코딩테스트, 햄버거 만들기 (Javascript) (0) | 2024.05.13 |
프로그래머스 코딩테스트, 대충 만든 자판 (Javascript) (0) | 2024.05.10 |
[Javascript] 자주 까먹는 Null 병합 연산자 (??) (0) | 2024.05.10 |
[Javascript] 자주 까먹는 Destucturing (0) | 2024.05.10 |