Предпочтение саги над тэнком или наоборот ложью зависит от поставленной задачи. Оба имеют свою справедливую долю компромиссов.
Thunks отправляет функцию, которая, в свою очередь, отправляет действия. Таким образом,
- Плюсы : Простой код для обслуживания
- Минусы : нужно смоделировать асинхронное поведение Thunk в тестовых случаях, которые могут стать довольно неуклюжим
- Подразумевается : Подходит для небольших прямых асинхронных частей приложения
Саги используют функции генератора внизу, так что функция фактически приостанавливает асинхронное действие и возобновляется после его разрешения
- Плюсы : контрольные примеры становятся честными и прямыми без необходимости издеваться над асинхронным поведением
- Минусы : более сложный код
- Подразумевается : Подходит для сложных асинхронных частей приложения, для которых требуются сложные юнит-тесты