मेरे पास एक लाइब्रेरी से एक फ़ंक्शन है जो एक वादा करता है। मुझे इस समारोह को कई बार चलाने की ज़रूरत है, लेकिन प्रत्येक पुनरावृत्ति को पिछले कार्य तक पूरा होने तक प्रतीक्षा करनी चाहिए।आप es6 वादों की एक श्रृंखला को कैसे सिंक्रनाइज़ करते हैं?
मेरे धारणा मैं यह कर सकता है कि था:
promiseReturner(1)
.then(promiseReturner(2)
.then(promiseReturner(3)
.then(...)
कौन सा एक पाश का उपयोग कर सरल किया जा सकता है:,
var p = Promise.resolve();
for (var i=1; i<=10; i++) {
p = p.then(promiseReturner(i));
}
लेकिन जब मैं इस श्रृंखला में प्रत्येक वादा पर निष्पादित किया जाता है कर एक ही समय के बाद, .then()
के रूप में दूसरे के बजाय एक का मतलब है। जाहिर है, मुझे वादे के बारे में कुछ मौलिक याद आ रहा है - लेकिन कई ट्यूटोरियल और ब्लॉग पोस्ट पढ़ने के बाद भी मैं हार गया हूं।
Here's a codepen I wrote up to demonstrate my attempt।
करता है 'promiseReturner (एन) 'एक वादा वापस करें या एक वादा-वापसी समारोह बनाओ? – Bergi