Share your knowledge with other learners . . . Write As Guest

Generator Functions In JavaScript In Hindi | JavaScript Generator Functions

Top Blogs

Loading ...


Image could not load

JavaScript In Hindi by Gabriel Heinzer on Unsplash

Normal Functions के अलावा JavaScript में Generator Functions भी होते हैं , जो कही कही पर काफी useful होते हैं।

JavaScript Generator Functions

Generators वो functions होते हैं जिनका execution exit होकर दुबारा re-enter हो सकते हैं , asynchronous programming में ये काफी important tool होता है।

Generators को define करने के लिए function* का use किया जाता है और , function के अंदर yield का use किया जाता है , जो Generator object को return करेगा।

Generator Function Example

function* my_generator() { yield 1; } console.log(my_generator());
Generator {  }

इस generator के कई useful methods हैं जिन्हे हम आगे समझेंगे।

function* range(start, end) { for (let i = start; i <= end; i++) { yield i; } } let myRange = range(1, 2) console.log(myRange.next()); console.log(myRange.next()); console.log(myRange.next());
Object { value: 1, done: false }
Object { value: 2, done: false }
Object { value: undefined, done: true}

ऊपर दिए गए example में आप देख सकते हैं yield के साथ जो value use की गयी है वही return हो रही है और , done false आ रहा है जब तक कि कोई next value मिलेगी। जैसे ही loop end हुआ हमें done : true मिल रहा है।

Working of generator function

generator function को call करने पर immediately function body execute न होकर generator object return होता है। और जब iterator का next() method call होता है तो first yield expression तक code execute होता है जो एक object return करता है जिसमे 2 properties : value , done होती हैं। जैसा कि आप example में देख भी सकते हैं।

return value

generator function में yield के बाद return keyword का मतलब है generator function finish हो गया है और done property true मिलेगी , फिर आप next() method use करोगे तो value में undefined ही मिलेगा।

हालाँकि returned value भी आपको next() की तरह ही मिल जायगी।

function* test(start, end) { yield "hi !"; return "bye .."; yield "It will not work.."; } let f = test(1, 2) console.log(f.next()); console.log(f.next()); console.log(f.next());
Object { value: "hi !", done: false }
Object { value: "bye ..", done: true }
Object { value: undefined, done: true}

Passing arguments into Generators

आप generator object के next() method में argument भी pass कर सकते हैं , ध्यान रहे हम next() method में value pass करेंगे तो yield के साथ function में handle करेंगे।

function* logGenerator() { console.log(yield); console.log(yield); console.log(yield); } const gen = logGenerator(); gen.next("Hello"); gen.next("Hi"); gen.next("Bye ..");
Hello
Hi
Bye ..

I Hope, आपको javascript में generator functions के बारे में अच्छे से समझ आ गया होगा।

Give Feedback

like-image 0.

Recent Blogs

Loading ...

Rahul Kumar

Rahul Kumar

Hi ! My name is Rahul Kumar Rajput. I'm a back end web developer and founder of learnhindituts.com. I live in Uttar Pradesh (UP), India and I love to talk about programming as well as writing technical tutorials and tips that can help to others.

Get connected with me. :) LinkedIn Twitter Instagram Facebook