我需要提取并保存在redux中的数据,以便在后台或大约x分钟内提取。
该应用程序具有一个数据库,该数据库具有不断更新的记录(有时10到1小时),现在我必须终止该应用程序,以便再次获取日期。
我代码中的所有内容都是带有操作的基本Redux,而Fetching API减少了5并分发数据。
export function fetchStatsFromAPI() {
return (dispatch) => {
dispatch(getStats())
fetch(Config.SERVER_URL + '/mob/sport/getPlatfromStats', { //home
method: 'POST',
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
code: "7",
sessId: session,
data: {
client_id: client,
u: user
}
})
}).then((response) => response.json())
.then((res) => {
let data = res["data"]["response"]["data"];
dispatch(getStatsSuccess(data))
})
})
.catch(err => dispatch(getStatsFailure(err)))
}
其他部分只是基本的Redux和redux-thunk。
即使用户打开应用程序,我如何也可以使此提取每隔X分钟运行一次?我尝试过https://www.npmjs.com/package/react-native-background-fetch,但我不知道该怎么做。
答案 0 :(得分:1)
我的建议是在后端使用套接字,以便服务器可以在数据更改时和事件发送时向您的应用发送事件,并且您可以侦听并更新您的redux状态。如果您只想每x分钟获取一次数据,则可以通过setTimeout内部的一次获取调用来解决。
`
componentDidMount(){
this.timer=setInterval(()=>this.fetchData(),x*60*1000)
}
fetchData() {
//your fetch call
}
componentWillUnmount(){
clear(this.timer)
}