Middle
Kā darbojas generatori JavaScript, salīdzinot ar parastajām funkcijām?
sobes.tech AI
Atbilde no AI
JavaScript ģeneratori ir funkcijas, kas var apstāt savu izpildi un atgriezt starpposma vērtības, izmantojot atslēgvārdu yield. Atšķirībā no parastajām funkcijām, kas tiek pilnībā izpildītas un atgriež vienu vērtību, ģeneratori ļauj izveidot iterators ar slinku vērtību ģenerēšanu.
Ģeneratora piemērs:
function* countUpTo(max) {
let count = 1;
while (count <= max) {
yield count; // apstādinās izpildi un atgriezīs vērtību
count++;
}
}
const counter = countUpTo(3);
console.log(counter.next().value); // 1
console.log(counter.next().value); // 2
console.log(counter.next().value); // 3
console.log(counter.next().done); // true
Tādējādi ģeneratori ir noderīgi, strādājot ar datu secēm, kurām nav nepieciešams tūlītējs pilnīgs aprēķins.