दिलचस्प पोस्ट
स्विफ्ट स्प्राइटकिट बटन जोड़ना प्रोग्रामैटिकली XMLHttpRequest स्थिति 0 (responseText खाली है) जावा, एक निर्देशिका से उप-निर्देशिकाओं को सूचीबद्ध करें, न कि फाइलें अजगर में स्ट्रिंग का सच्चा मान बारकोड स्कैनर ऐप का उपयोग किए बिना ज़ेडिंग लाइब्रेरी एम्बेड करें फ़ंक्शन के नाम के ऑपरेटर के पते को लागू करने के समान फ़ंक्शन पॉइंटर के रूप में फ़ंक्शन नाम का उपयोग क्यों किया जा रहा है? एसईडी का उपयोग करके खाली पंक्ति हटाएं स्प्रिंग / रेस्ट @ पाथवैयरेबल कैरेक्टर एन्कोडिंग केवल कुछ तत्वों के लिए सीएसएस शैलियों को लागू करना आईओएस 10 पर स्टार्टअप के दौरान कॉर्डोवा ऐप फांसी कैसे स्वरूपित स्ट्रिंग से खाली लाइनों को दूर करने के लिए? कैसे अपनी निजी रजिस्ट्री के बिना एक निजी एनपीएम मॉड्यूल को स्थापित करें? मैं LINQ क्वेरी से ग्रुप बी के साथ अधिकतम पंक्ति कैसे प्राप्त करूं? सी # में एसएसएच सर्वर पर कमांड चलाने के लिए कैसे? आने वाले सर्वलेट अनुरोध url को बदलने के लिए जावा में सर्वलेट फिल्टर का उपयोग कैसे करें?

क्रमशः क्यू में जावा के साथ वादों को कैसे चलाने के लिए?

मुझे कड़ी मेहनत कर रहे हैं क्रमिक रूप से वादे चलते हैं।

var getDelayedString = function(string) { var deferred = Q.defer(); setTimeout(function() { document.write(string+" "); deferred.resolve(); }, 500); return deferred.promise; }; var onceUponATime = function() { var strings = ["Once", "upon", "a", "time"]; var promiseFuncs = []; strings.forEach(function(str) { promiseFuncs.push(getDelayedString(str)); }); //return promiseFuncs.reduce(Q.when, Q()); return promiseFuncs.reduce(function (soFar, f) { return soFar.then(f); }, Q()); }; getDelayedString("Hello") .then(function() { return getDelayedString("world!") }) .then(function() { return onceUponATime(); }) .then(function() { return getDelayedString("there was a guy and then he fell.") }) .then(function() { return getDelayedString("The End!") }) 

एक बार बाद में () को क्रमशः आउटपुट ["एक बार", "पर", "ए", "समय"] होना चाहिए, लेकिन इसके बजाय वे कुछ कारणों से तुरंत उत्पादन कर रहे हैं।

जेएसफ़िल्ड यहां: http://jsfiddle.net/6Du42/2/

कोई आइडिया है कि मैं क्या गलत कर रहा हूँ?

Solutions Collecting From Web of "क्रमशः क्यू में जावा के साथ वादों को कैसे चलाने के लिए?"

लेकिन इसके बजाय वे कुछ कारणों से तुरंत उत्पादन कर रहे हैं।

आप उन्हें पहले से ही यहां बुला रहे हैं:

 promiseFuncs.push(getDelayedString(str)); // ^^^^^ 

आपको function(){ return getDelayedString(str); } पुश करने की आवश्यकता होगी function(){ return getDelayedString(str); } function(){ return getDelayedString(str); } बीटीडब्ल्यू, each लूप में एक सरणी के लिए धकेलने के बजाय आपको map उपयोग करना चाहिए। और वास्तव में आपको वास्तव में वैसे भी ज़रूरत नहीं है, लेकिन सीधे strings सरणी को reduce कर सकते हैं:

 function onceUponATime() { var strings = ["Once", "upon", "a", "time"]; return strings.reduce(function (soFar, s) { return soFar.then(function() { return getDelayedString(s); }); }, Q()); } 

ओह, और document.write उपयोग नहीं करें ।