Slick to má DBIO.seq
a DBIO.sequence
pre spustenie mnohých DBIOAction
pričom výsledky predchádzajúcich krokov nie sú potrebné pre následné činnosti.
Pozrel som sa na zdroj a nie je to pre mňa zjavné DBIO.seq
postupne postupuje. Na druhej strane, DBIO.fold
má veľmi jednoduchú implementáciu, ktorá určite spúšťa akcie postupne, pretože práve používa flatMap
interne.
Moja otázka je: objednávka bude zaručená pri použití seq
a sequence
, ako je to s fold
?
odpovede:
1 pre odpoveď č. 1Na dokumentácia uvádza, že činnosti v rámci DBIO.seq
prebiehajú postupne:
Najjednoduchšie combinator je DBIO.seq, ktorý berie varargs zoznam akcií na spustenie v poradí
Aj v zdrojový kód pre DBIO.seq
, uvidíte, že SynchronousDatabaseAction
sa nazýva vnútri foreach
, čo znamená, že každý sequantially a (interne) synchrónne s názvom bez akéhokoľvek paralelný beh.