【问题标题】:Background/after x minutes fetch背景/x分钟后获取
【发布时间】:2019-01-23 22:03:32
【问题描述】:

我需要让我在 redux 中获取和保存的数据在后台或某些 x 分钟内获取。

应用程序有一个数据库,其中包含不断更新的记录(有时 10 到 1 小时),现在我必须终止应用程序以便再次获取日期。

我的代码中的所有内容都是带有 action 的基本 redux 和 5 个使用 Fetching API 和 dispatch 数据的 reduce。

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,但我不知道怎么做。

【问题讨论】:

    标签: react-native react-redux fetch-api redux-thunk


    【解决方案1】:

    我的建议是在后端使用套接字,以便服务器可以在数据更改时向您的应用发送事件,您可以监听它并更新您的 redux 状态。如果您只想每 x 分钟获取一次数据,您可以在 setTimeout 中调用 fetch。

    `

    componentDidMount(){
      this.timer=setInterval(()=>this.fetchData(),x*60*1000)
     }
    fetchData() {
       //your fetch call
      }
    componentWillUnmount(){
     clear(this.timer)
    }

    【讨论】:

      猜你喜欢
      • 2013-08-16
      • 2022-01-18
      • 1970-01-01
      • 2020-09-19
      • 2021-12-31
      • 1970-01-01
      • 2018-05-25
      • 2013-06-09
      • 2021-12-08
      相关资源
      最近更新 更多