Они, как правило, одно и то же, но, если в вашей области видимости, см. пример, функция предупреждения получила переопределение, а затем 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?");
})()
Преобразователи по сравнению с Сагами
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'
не будет отправлено хранилищу. После того как это происходит, выполнение продолжится.