links:
---
The `flow` function in mobx takes a generator function as it's only input, inside the generator, you can chain promises by yielding them (instead of `await somePromise` you write `yield somePromise`). The `flow` mechanism will make then make sure the generator either continues or throws when an yielded promise resolves.
Basically `flow` returns a promise that can be `yield`ed and used for other `flow`s
---
tags: #fundamentals
sources:
- [flow calling another flow](https://stackoverflow.com/questions/51312823/mobx-state-tree-flow-how-to-know-when-its-done)