Я читал официальные учебные пособия о промежуточном программном обеспечении.
Я запутался в этой строке кода промежуточного программного обеспечения: next(action)
Насколько я понимаю, next
функция на самом деле store.dispatch
, и каждое промежуточное ПО будет вызывать next(action)
, не будет ли оно отправлять это действие несколько раз?
Итак, есть два промежуточных ПО:
const logger = store => next => action => {
console.log('dispatching', action)
let result = next(action) // I'm talking about this line
console.log('next state', store.getState())
return result
}
const crashReporter = store => next => action => {
try {
return next(action) // This line too.
} catch (err) {
console.error('Caught an exception!', err)
Raven.captureException(err, {
extra: {
action,
state: store.getState()
}
})
throw err
}
}
Строка 3 и10 оба звонят next(action)
, плюс у меня самый первый store.dispatch(action)
, разве это действие не будет отправлено 3 раза?
Разве это не сломает приложение?