Итак, я только что прочитал о промежуточном программном обеспечении Redux, и это звучит великолепно. Однако меня беспокоит одна вещь - возвращаемые значения промежуточного программного обеспечения.
Я понимаю, что некоторые экземпляры промежуточного программного обеспечения возвращают вещи (например, redux-promise
) , и я понимаю, что другое промежуточное программное обеспечение (например, logging
) не возвращает - и просто возвращает результат next(action)
.
Моя проблема заключается в том, что произойдет, если я захочу использовать две части промежуточного программного обеспечения, которые оба возвращают данные - наверняка они будут сбивать друг друга, и я получу возвращаемое значение только самого внешнего промежуточного программного обеспечения.
express/connect
промежуточное программное обеспечение решает эту проблему, позволяя промежуточному программному обеспечению записывать свои «результаты» в объекты req
и res
, но каково решение с избыточностью?
ИЗМЕНИТЬ
Вот более конкретный пример моей проблемы:
У меня есть две части промежуточного программного обеспечения:
- ПО промежуточного слоя, которое откладывает выполнение всех действий на 3 секунды. Это промежуточное ПО возвращает функцию, которую можно вызвать для отмены отправки.
- Промежуточное ПО, которое возвращает число 5, потому что мне нужно число 5 по какой-то причине.
В зависимости от порядка, в котором я связываю эти два бита промежуточного программного обеспечения, результатом моего dispatch(action)
будет либо отмена отсрочки fn, либо число 5. Но как мне получить оба этих результата?
next()
, но промежуточным программам полностью разрешено возвращать что-то еще, если они этого хотят. Это в значительной степени сводится к тому, что функции JS возвращают только одно значение. - person markerikson   schedule 08.03.2017