Ben scala güvenli yazın nasıl sevmez, ama içine yayınlanmaya devam bir çalışma zamanı hatasıdırmemnun tip hatalar
Future.filter predicate is not satisfied
bu hatayı alıyorum neden görebilirsiniz
, Sadece bu hatanın en iyi nasıl işleneceği konusunda tavsiyede bulunup, incelikle ilgilenebilirim ya da belki bu yanlışı yapıyorum?
val r: Future[play.api.mvc.Result] = for {
account <- accountServer.get(...)
if account.isConfirmed
orders <- orderService.get(account, ...)
} yield {
...
}
Hesap onaylanmadıysa, yukarıdaki hatayı alacağım.
Filtrenin başarısızlığa uğraması ihtimali bulunduğundan, bu skalanın getiri dönüş değeri bir Opsiyonu oluşturacağını düşünürdüm. Yok hayır?
val orders = accountServer.get(...)
.flatMap { account =>
if(account.isConfirmed) orderService.get(account, ...)
else Future.successful(Seq.empty)
}
Nasıl, Birini dönebilirsiniz (Jean Logeart cevabı olarak, ama içinde-anlama için) sonuç türü 'Sonuç' olur mu? – Dima
'' Gelecek '' anlamlı bir hata üretmek için. Gelecek [Sonuç] 'olmalıdır? –
@ m-z evet bunu bir gelecek için değiştirdim. – Blankman