for await...of
'for await...of' स्टेटमेंट एसिंक ऑब्जेक्ट्स और सिंक ऑब्जेक्ट्स जैसे सरणी, सरणी-जैसे ऑब्जेक्ट्स, मैप्स, सेट्स आदि पर पुनरावृति करने वाला लूप बनाता है।
सिंटैक्स
for await (variable of iterable) { statement }
उदाहरण
निम्नलिखित उदाहरण में "for await...of" स्टेटमेंट का उपयोग सामान्य सरणी पर एसिंक फॉर्मेट में लूप करने के लिए किया गया है और 1 से 5 तक के इंटीजर्स आउटपुट में दिखाए अनुसार प्रदर्शित किए गए थे।
<html> <body> <script> var txt = ""; const array = [1,2,3,4,5]; async function test() { for await (const p of array) { var txt = p + "</br>"; document.write(txt); } } test(); </script> </body> </html>
आउटपुट
1 2 3 4 5
एसिंक फंक्शन को लूप में कॉल करने के लिए, एक नया Symbol "Symbol.asyncIterator" और "for-await...of" कंस्ट्रक्ट उपयोग किया जाता है। सबसे महत्वपूर्ण बात "for-await...of" ने एसिंक इटरेबल ऑब्जेक्ट पर लूप करने में महत्वपूर्ण भूमिका निभाई है।
उदाहरण
निम्नलिखित उदाहरण में "for await...of" का उपयोग करके, जो एसिंक इटरेबल पर पुनरावृति करता है, 1 से 5 तक के इंटीजर्स प्रदर्शित किए गए।
<html> <body> <script> var txt = ""; var async = { [Symbol.asyncIterator]() { return { i: 1, next() { if (this.i < 6) { return Promise.resolve({ value: this.i++, done : false}); } } }; } }; async function test() { for await (let p of async) { txt = p + "</br>" document.write(txt); } } test(); </script> </body> </html>
आउटपुट
1 2 3 4 5