reactjs - 在任何请求和响应之后,调用一个 api
问题描述
我需要通过检查一些条件来调用 api。但是在任何请求/响应之后都需要这个 api 调用。但我找不到任何有用的东西。
因此,我正在寻找一种使用 redux-saga 设置项目的解决方案,以便我可以在任何请求/响应上调用 api。
例如。我们可以从不同的地方进行不同的 api 调用;
.fetch('/books')
.fetch('/copies')
etc.
现在,我还想在每次获取时调用一个 api(请求之前和响应之后)。希望,现在很清楚了。
解决方案
假设您有一种可靠的方法来识别作为响应的操作,您可以使用一个pattern
函数来匹配所有响应操作并触发另一个调用。
例如:
// assuming your response success action types all look like "REQUEST_TYPE_SUCCESS"
function isResponse(action) {
return action.type.endsWith("SUCCESS")
}
function* makeApiCall(action) {
// maybe do some logic to determine the api call based on the action
yield call(asyncApiCall, args);
}
function* responseWatcher() {
// consider takeLatest or takeLeading instead of takeEvery depending on your use case
yield takeEvery(isResponse, makeApiCall);
}
然后添加responseWatcher
到您的根传奇中,但是您正在设置它。
take
如果您需要有关pattern
arg 的更多信息,请参阅 api 参考take
:https ://redux-saga.js.org/docs/api/#takepattern
推荐阅读
- sql - 如何使用别名对这些值进行减法
- c# - 检查多个列在表值参数中具有多个值中的任何一个
- python - 如何在没有管理员权限的情况下激活 Python 虚拟环境?
- macos - 默认写入可以超过一个键吗?
- c# - 如何从 ARGB 中删除重复的字符
- git - IntelliJ - - 如何应用整个文件作为更改?
- serialization - 在 Scheme 中,如何将记录 (srfi-9) 保存到文件中(将它们序列化到文件中),然后再将它们读回?
- reactjs - Redux 表单,针对特定字段清除和休息,反应 JS
- python - 使用 pandas 选择一组特定的分组数据框
- testing - 如何在 TestCafe 中计算以前的兄弟姐妹?