Куда вторгается промежуточное ПО? Это порядок промежуточное программное что я вижу, это происходит через прямо сейчас, но я застревают на том, где Thunk приходит в:Как работает поток промежуточного программного обеспечения relux?
- депеш действие, которое имеет
promise
значение, установленное в истинно - идет в санк, санк Безразлично» t делать что-либо с ним, потому что это объект, а не функция
- отправляется на обещаниеErrorMiddleware, которое получает хранилище от
applyMiddlware
и возвращает функцию. - Эта функция перехвачена Thunk, хотя она была возвращена и не отправлена? который точно выполняет эту функцию, которая вернет следующую функцию с действием в качестве аргумента? кто затем запустит эту финальную функцию?
магазин
const store = createStore(
rootReducer,
applyMiddleware(thunkMiddleware, promiseErrorMiddleware, dataTrafficMiddleware)
)
actionCreator
dispatch({url: requestURL, promise: true})
promiseErrorMiddleware & dataTrafficMiddleware
const promiseErrorMiddleware = function (store) { //where is store from, applyMiddleware?
return function (next) { //where is next from?
return function (action) {
if (!action.promise) {
return next(action)
} else {
return fetch(action.url).then(function (data) {
...
next({data, needDirection: true})
})
}
}
}
}
const dataTrafficMiddleware = function (store) {
return function (next) {
return function (action) {
if (!action.needDirection) {
return next(action)
} else {
//dispatch regular action with type and data
}
}
}
}
}
Возможный дубликат [для чего нужно промежуточное ПО для async-потока в Redux?] (Http://stackoverflow.com/questions/34570758/why-do-we-need-middleware-for-async-flow-in- перевождь) – vijayst