andThen
जिसका अर्थ है कि मैंने इस answer से सीखा है एक फ़ंक्शन संगीतकार है।भविष्य का एंडन क्यों परिणाम नहीं लेता है?
कहो कि
f andThen g andThen h
h(g(f(x)))
करने के बराबर होगा इसका मतलब है h function
से g(f(x))
इनपुट प्राप्त होगा लेकिन Future
में andThen
, निम्नलिखित andthen के सभी बंद करने के लिए हमेशा मूल Future
से परिणाम प्राप्त करता है।
Future{
1
}.andThen{ case Success(x) =>
println(x) // print 1
Thread.sleep(2000)
x * 2
}.andThen{ case Success(x) =>
println(x) // print 1
Thread.sleep(2000)
x * 2
}
val func: Function1[Int, Int] = { x: Int =>
x
}.andThen { y =>
println(y) // print 1
y * 2
}.andThen { z =>
println(z) // print 2
z * 2
}
func(1)
से तुलना क्या बनाने के लिए भविष्य :: andthen (रों) सभी एक ही परिणाम मूल भविष्य से बजाय भविष्य चेनिंग की प्राप्त कारण क्या है? मैंने देखा है कि इन जंजीरों और फिर क्रमशः निष्पादित किया जाएगा, इसलिए कारण समानांतर उद्देश्य के लिए नहीं हो सकता है।
क्या मैं कह सकता हूं कि यह पूर्ण संस्करण का एक और संस्करण है लेकिन "यह" लौटाता है ताकि यह चेनिंग शैली में एकाधिक "पर्यवेक्षक" कॉलबैक हैंडलर को बाध्य कर सके? –
@ चेनॉट हां। बहुत अधिक – Odomontois
@ लेकिन एक अंतर के साथ। मैं इसे – Odomontois