Generator funksiyasi chaqirilganda, u iterator obyektini qaytaradi. Keyin funksiya tomonidan yaratilgan qiymatlar ketma-ketligini takrorlash uchun ushbu iterator ob'ektidan foydalanishingiz mumkin. Har safar "yield" kalit so'ziga duch kelganda, funktsiyaning holati saqlanadi va olingan qiymat qaytariladi. Keyingi safar iteratorning "next()" usuli chaqirilganda, funktsiya to'xtagan joydan keyingi "yield" bayonotiga duch kelmaguncha davom etadi.
Yuqorida, JavaScript-dagi generator funksiyasiga misol:
Yuqoridagi misolda
myGenerator funksiyasi generator funksiyasi boʻlib, uchta qiymatni beradi: 1, 2 va 3. Biz iterator obyektini myGenerator() va keyin ketma-ketlikdagi keyingi qiymatni olish uchun iteratorning next() usulidan foydalanishimiz mumkin.
JavaScript-dagi generator funksiyalari next() usulini chaqirganda ham kirish qiymatlarini qabul qilishi mumkin. Ushbu kirish qiymatlari generator funktsiyasi ichida ishlatilishi mumkin. Kirish qiymatini generatorga o‘tkazish uchun uni next() usuliga argument sifatida yuborish kifoya.Umuman olganda, JavaScript-dagi generator funktsiyalari vaqt o'tishi bilan qiymatlar ketma-ketligini yaratish usulini ta'minlaydi, bu ularni asinxron operatsiyalarni boshqarish, katta ma'lumotlar to'plamlari ustida takrorlash yoki cheksiz ketma-ketliklarni yaratish uchun foydali qiladi.
@Diyorbekk_dev