ReactiveMongo sürücüsünü kullanarak bir Scala uygulaması yazıyorum. Db'ye erişen yöntemler her zaman Future[T]
döndürür. Aşağıdaki kod eşdeğerleri mi? (onComplete
ile)OnComplete ile Geleceğin flatMap arasındaki fark nedir?
(flatMap
ile)
val results: Future[List[Tag]] = Tags.all.toList
results onComplete {
case Success(list) => //do something with list
case Failure(t) => //throw the error
}
Tags.all.toList.flatMap(list => //do something with list)
fark nedir?
flatMap, Failure ?? Ve flatMap
, onComplete
gibi bir geri çağırmadır veya Tags.all.toList
bildirimi tamamlanana kadar bekle?
Bu imzasından apaçıktır: Aynı şekilde Monad'ı deneyin, 'flatMap' hatalarla ilgilenmiyor. Monad'ın neyle ilgili olduğu budur: herhangi bir hatayı bozulmadan geçirirsiniz ve işlemlerinizi yalnızca boruda bir hata yoksa uygulayın. Sadece sonunda hata ve başarıları yakalamanız tavsiye edilir –