Плюсы / минусы использования redux-saga с генераторами ES6 по сравнению с redux-thunk с ES2017 async / await

Они, как правило, одно и то же, но, если в вашей области видимости, см. пример, функция предупреждения получила переопределение, а затем alert и window.alert не будет той же самой функцией.

(function () {
    function alert(test) {
        document.write(test);
    }

    alert("hello page");
   window.alert("hello world");
})()

Надеемся на пример будет проливать больше света на эту тему, чем мое объяснение.

Вы также можете скрыть имя функции переменной и получить ошибку при ее вызове.

(function () {
    var alert;
    alert("Why don't you work, silly function?");
})()
436
задан Evaldas Buinauskas 17 February 2018 в 09:04
поделиться

1 ответ

Преобразователи по сравнению с Сагами

Redux-Thunk и Redux-Saga отличаются несколькими важными способами, оба - библиотеки промежуточного программного обеспечения для Возвращения (Промежуточное программное обеспечение возвращения является кодом, который прерывает действия, въезжающие в хранилище через отправку () метод).

действие может быть буквально чем-либо, но если Вы применяете лучшие методы, действие является плоскостью объект JavaScript с полем типа, и дополнительная полезная нагрузка, meta, и ошибочные поля. например,

const loginRequest = {
    type: 'LOGIN_REQUEST',
    payload: {
        name: 'admin',
        password: '123',
    }, };

Преобразователь Возвращения

В дополнение к диспетчеризации стандартных действий, Redux-Thunk промежуточное программное обеспечение позволяет Вам диспетчеризировать специальные функции, вызванные thunks.

Преобразователи (в Возвращении) обычно имеют следующую структуру:

export const thunkName =
   parameters =>
        (dispatch, getState) => {
            // Your application logic goes here
        };

таким образом, thunk функция, которая (дополнительно) берет некоторые параметры и возвращает другую функцию. Внутренняя функция берет dispatch function и getState функция - оба из которых будут предоставлены Redux-Thunk промежуточное программное обеспечение.

Сага Возвращения

Redux-Saga промежуточное программное обеспечение позволяет Вам выражать логику сложного приложения как чистые функции, вызванные саги. Чистые функции желательны с точки зрения тестирования, потому что они предсказуемы и повторяемы, который делает их относительно легкими протестировать.

Саги реализованы через вызванные функции генератора специальных функций. Это новая возможность [1 112]. В основном выполнение вскакивает, и из генератора везде Вы видите оператор урожая. Думайте yield оператор как то, чтобы заставлять генератор приостановить и возвратить значение, к которому приводят. Позже, вызывающая сторона может возобновить генератор в операторе после yield.

функция генератора А является той, определенной как это. Заметьте звездочку после функционального ключевого слова.

function* mySaga() {
    // ...
}

, После того как сага о входе в систему регистрируется в [1 115]. Но затем эти yield берут, первая строка приостановит сагу, пока действие с типом 'LOGIN_REQUEST' не будет отправлено хранилищу. После того как это происходит, выполнение продолжится.

для получения дополнительной информации см. эту статью .

1
ответ дан 22 November 2019 в 23:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: