में अनुक्रमिक रूप से वायदा की संख्या को गठबंधन करें, मैं स्कैला के लिए नया हूं और मैं स्कैला 2.10 आरसी 3 में कई फ़्यूचर्स को गठबंधन करने का प्रयास करता हूं। अनुक्रमिक क्रम में Futures
निष्पादित किया जाना चाहिए। दस्तावेज़ Scala SIP14 विधि andThen
अनुक्रमिक क्रम में फ़्यूचर्स निष्पादित करने के लिए परिभाषित किया गया है। मैंने कई Futures
(नीचे उदाहरण देखें) को गठबंधन करने के लिए इस विधि का उपयोग किया। मेरी उम्मीद थी कि यह 6
प्रिंट करता है लेकिन वास्तव में परिणाम 0
है। मुझसे यहां क्या गलत हो रहा है? मेरे पास दो प्रश्न हैं:स्काला
पहला, परिणाम 0
क्यों है। दूसरा, मैं कई Futures
को कैसे जोड़ सकता हूं, ताकि दूसरे Future
का निष्पादन पहले Future
समाप्त होने से पहले शुरू न हो।
val intList = List(1, 2, 3)
val sumOfIntFuture = intList.foldLeft(Future { 0 }) {
case (future, i) => future andThen {
case Success(result) => result + i
case Failure(e) => println(e)
}
}
sumOfIntFuture onSuccess { case x => println(x) }
धन्यवाद! मुझे ठीक इसी की आवश्यकता थी। – Chrisse
+1 इससे मुझे बहुत मदद मिली! – pvorb