我想重写isomorphic-fetchfetch()
的方法,这样,就在发送此请求之前它会调用它,并且在请求完成之后,它会调用. 现在我想重写它,以便新的 fetch 可以像原始的 fetch 方法一样被链接。所以它应该尊重/转发所有的承诺。总之,我想:showLoader()
hideLoader()
- 覆盖原来
fetch()
的fetchPlus(extraArg)
fetchPlus()
需要在调用之前fetch()
和fetch()
完成之后做额外的工作。fetchPlus()
应该是替代原始用法的下降fetch()
- 它应该支持链接,这样我就可以做到:
fetchPlus(extraArg, originalArgs...).then(response => {...}).catch(error => {...});
我对 JS、React 和 Redux 还很陌生,所以如果我遗漏了一些明显的东西,请见谅。我确实阅读fetch()
并知道它返回Promise以便可以进一步传递响应或处理错误。我想出了一个丑陋的方法,我将 responseHandler 和 errorHandler 函数作为 args 传递给 fetchPlus。
fetchPlus(extraArg, url, options, responseHandler, errorHandler) {
showLoader(extraArg);
fetch(url, options)
.then(response => {
hideLoader(extraArg);
responseHandler(response);
}.catch(error => { errorHandler(error); });
}
但是我觉得不干净。我想看看我是否可以找到正确传递 Promise 的原始 fetch 的替代品。
我将非常感谢任何帮助!