我有一堆API辅助函数,它们的响应被单独处理,但也共享标准的成功/错误回调。如果是401响应,则需要重定向用户。唉,重定向是通过发送完成的。
export default interpreter => (xhrRequest, callback) => {
return xhrRequest
.then((res) => {
if(res.status === 401) {
// Need a dispatch over here
}
interpreter(res, callback)
});
};
当我意识到我需要一个我无法访问的调度时,这就是我作为包装函数使用的代码。
中间件似乎是要走的路,但我无法理解如何去做。注意:redux-sagas也是一种选择。
Best place to apply API response transformation的选项#1是我试图避免的。我想让我的API帮助器与其他所有东西分开,并且不会应用相同的处理程序N次,其中N是我有多少帮助器。