Базовая абстракция: Effect

Чтобы обобщить инициирование сайд эффектов внутри саги всегда [yielding] декларативный эффект. (Вы также можете используя yield чтобы вернуть Promise напрямую, но это затруднит тестирование, как мы видели в первом разделе.)

Saga составляет все эти эффекты вместе для реализации желаемого потока управления. Простейшим примером является последовательность Effect-ов возващаемых используя ключевое слово yield: просто поместив инструктции с использованием ключевого слова yield в генератор которые будут следовать один за другим. Вы также можете использовать знакомые операторы потока управления (if, while, for) для реализации более сложных потоков управления.

Мы видели, что использование Effect-ов, таких как call и put, в сочетании с API высокого уровня, таких как takeEvery, позволяет нам достичь тех же вещей, что и redux-thunk, но с дополнительным преимуществом легкого тестирования.

Но redux-saga дает еще одно преимущество перед redux-thunk. В дополительном разделе вы столкнетесь с более мощными Effect-ами, которые позволят вам выражать сложные потоки управления, сохраняя при этом приемущество легкого написание тестов.

results matching ""

    No results matching ""