1
我必須查詢帶分頁的API。但是因爲API很奇怪,我必須查詢它直到響應爲空(不包含任何項目)。斯卡拉,無最大值尋呼
實際上它是用Java語言寫有一個做,而:
do {
objects = doQuery(from);
from += 200
} while (!objects.isEmpty())
但我想它轉換成階。我最初的想法是使用流與步和takeWhile:
Stream.iterate(0)(_+200)
.map(from => doQuery(from))
.takeWhile(objects -> !objects.isEmpty)
但另一個變化使doQuery
返回Future
。因此,我無法在takeWhile中進行測試,也沒有關於如何做的最佳方法(可能是遞歸調用)。 希望這個新代碼將是爲阿卡演員會告訴其他每個對象(不需要任何回報)
只要你不暴露可變狀態,你可以在scala中確定/確定。 – dveim
@dveim謝謝。是的,我知道,只是願意使用更「實用」的風格。 –
你想要一個掃描副作用的流,所以我會去fs2或akka-streams,可能會比stdlib流有點痛苦。 – Reactormonk