我正在阅读一个cassandra事件流,并希望得到最后一个元素。我目前正在这样做:
def myData: Future[Long] =
readJournal(myPersistenceId)
.drop(5)
.take(1)
.map(l => l.mydata)
.runWith(Sink.head)
这是有效的,因为我知道我将获得6
事件,并获得最后一个我放下5
并采取1
。但是,我想知道是否有办法做到这一点,我不是硬编码drop(5)
和take(1)
。有没有办法做到这一点,我总是采取最后的事件?
def myData: Future[Long] =
readJournal(myPersistenceId)
.map(_.mydata)
.runWith(Sink.last)
要么
def myData: Future[Option[Long]] =
readJournal(myPersistenceId)
.map(_.mydata)
.runWith(Sink.lastOption)