Jak mogę przekonwertować Option[Future[T]]
na Future[Option[T]]
w scala?Opcja Scala [Przyszłość [T]] do przyszłości [Opcja [T]]
chcę go używać w:
val customerAddresses = for {
a <- addressDAO.insert(ca.address) // Future[Address]
ia <- ca.invoiceAddress.map(addressDAO.insert) // Option[Future[Address]]
} yield (a, ia) // Invalid value have to be two futures
Tutaj sygnatury metody insert
def insert(address: Address): Future[Address]
ca
jest CustomerData
case class CustomerData(address: Address, invoiceAddress: Option[Address])
Więc 'a <- addressDAO.insert (ca.address)' zwraca 'Future [Option]'? –
Czy możesz określić sygnatury swoich metod? –
Użyłbym '.sequence' z' scalaz/cats' z https://github.com/milessabin/si2712fix-plugin - ale to prawdopodobnie byłaby przesada. – Reactormonk