उदाहरण में के लिए नीचे मैं अपवाद java.util.NoSuchElementException: Future.filter predicate is not satisfied
स्काला भविष्य में समझ
मिल रहा जब जांच if(i == 2)
विफल रहता परिणाम Future(Test2)
करना चाहते हैं फिल्टर के साथ। मैं फ़िल्टर को कैसे संभाल सकता/सकती हूं अगर समझने के लिए वायदा वायदा से संबंधित है?
नीचे एक सरलीकृत उदाहरण है जो स्कैला आरईपीएल में काम करता है।
कोड:
import scala.concurrent.Future
import scala.util.{ Try, Success, Failure }
import scala.concurrent.ExecutionContext.Implicits.global
val f1 = Future(1)
val f2 = for {
i <- f1
if(i == 2)
} yield "Test1"
f2.recover{ case _ => "Test2" }
f2.value
हालांकि अगर "2 <- f1" विफल होने के कारण f2 विफल रहता है, तो परिणाम "टेस्ट 2" नहीं होगा लेकिन फिर भी विफलता होगी। –