Piszemy generator do funkcji autocomplete, która w założeniu ma nam po wciśnięciu np. tab wrzucać zapętlone podpowiedzi. Do dzieła.
Podejście pierwsze – działa aż do wyczerpania:
function* autocompleteTips(){
yield "http://";
yield "https://";
}
let helper = autocompleteTips();
console.log(helper.next().value);
console.log(helper.next().value);
console.log(helper.next().value);
//http://
//https://
//undefined
Podejście drugie – działa w kółko:
function* autocompleteTips(){
while(true){
yield "http://";
yield "https://";
}
}
let helper = autocompleteTips();
console.log(helper.next().value);
console.log(helper.next().value);
console.log(helper.next().value);
console.log(helper.next().value);
//http://
//https://
//http://
//https://
Podejście trzecie – ładniejsza składnia i przyda się później:
function* autocompleteTips(){
let tips = [
"http://",
"https://"
];
while(true){
yield *tips;
}
}
let helper = autocompleteTips();
console.log(helper.next().value);
console.log(helper.next().value);
console.log(helper.next().value);
console.log(helper.next().value);
//http://
//https://
//http://
//https://