इसलिए मेरे पास एक वादा है जो सर्वर से डेटा एकत्र करता है लेकिन केवल एक समय में 50 प्रतिक्रियाएं एकत्र करता है। मेरे पास इकट्ठा करने के लिए 250 प्रतिक्रियाएं हैं Iवादे का लूप कैसे बनाएं
मैं कर सकता था एक साथ की तरह
नीचेnew Promise((resolve, reject) => {
resolve(getResults.get())
})
.then((results) => {
totalResults.concat(results)
return getResults.get()
})
.then((results) => {
totalResults.concat(results)
return getResults.get()
}).then((results) => {
totalResults.concat(results)
return getResults.get()
})
इस उदाहरण में मैं केवल 250 परिणाम की जरूरत है तो यह एक प्रबंधनीय समाधान लगता है, लेकिन वहाँ एक पाश में वादों concating का एक तरीका है बस concate वादे। तो मैं 5 बार एक लूप चलाता हूं और हर बार अगले वादे को चलाता हूं।
क्षमा करें मैं वादे के लिए नया हूं और यदि यह कॉलबैक था तो मैं यही करता हूं।
क्या 'वादा' वापस आ गया है? –
मैं इसके लिए [async] (http://caolan.github.io/async/) लाइब्रेरी को देखने की अनुशंसा करता हूं। यह आपके जीवन को आसान बना देगा। 'Async.eachLimit' कार्यक्षमता को देखें। – forrestmid
@forrestmid नहीं, यह वादे के साथ अच्छी तरह से काम नहीं करता है। – Bergi