首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何每隔60秒连续调用redux-saga action

每隔60秒连续调用redux-saga action可以通过以下步骤实现:

  1. 首先,确保已经安装了redux-saga库,并在应用程序中引入所需的依赖项。
  2. 创建一个saga generator函数,用于处理每隔60秒调用action的逻辑。可以使用redux-saga提供的takeEverytakeLatest等effect来监听特定的action。
  3. 创建一个saga generator函数,用于处理每隔60秒调用action的逻辑。可以使用redux-saga提供的takeEverytakeLatest等effect来监听特定的action。
  4. 在上面的示例中,callActionSaga函数会无限循环地调用你的action,并在每次调用之间延迟60秒。
  5. 在你的应用程序中,创建一个用于启动调用的action,并将其分发到Redux store中。
  6. 在你的应用程序中,创建一个用于启动调用的action,并将其分发到Redux store中。
  7. 在上面的示例中,我们创建了一个Redux store,并将saga中间件应用于store。然后,通过sagaMiddleware.run(rootSaga)来运行我们的saga。
  8. 最后,在你的应用程序中,分发一个启动调用的action。
  9. 最后,在你的应用程序中,分发一个启动调用的action。
  10. 这将触发saga中的takeEvery监听器,并开始每隔60秒调用你的action。

这样,每隔60秒,你的应用程序将自动调用指定的redux-saga action。请注意,上述示例中的yourActionyourActionFile应替换为你自己的实际action和action文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

redux-saga学习

sagas监听发起的action,然后决定基于这个action来做什么 (比如:是发起一个异步请求,还是发起其他的action到store,还是调用其他的sagas 等 ) 在redux-saga的世界里...在 incrementAsync 的例子中,generator 连续 yield 了两个值: yield delay(1000) yield put({type: ‘INCREMENT’}) 所以,如果我们连续...下面演示了这个辅助函数是如何由低级 Effect 实现的: const takeEvery = (patternOrChannel, saga, ...args) => fork(function*()...反向控制 在 takeEvery 的情况中,被调用的任务无法控制何时被调用, 它们将在每次 action 被匹配时一遍又一遍地被调用。并且它们也无法控制何时停止监听。...看起来就像是 Saga 在执行一个普通的函数调用 action = getNextAction(),这个函数将在 action 被发起时 resolve。

2.7K10
  • React-Redux-Saga

    Redux-saga 简介redux-saga 和 redux-thunk 一样, 是一个 Redux 中获取存储异步数据的中间件redux-saga 可以直接拦截 dispatch 派发的 action..., 从而实现在执行 reducer 之前执行一些其它操作使用 Redux-saga安装 Redux-saganpm install redux-saga在创建 store 时应用 redux-saga..., 那么除了需要在创建store的时候指定中间件以外, 还需要手动的调用中间件的run方法才行* */sagaMiddleware.run(undefined, undefined);export default...而言, 每次拦截到对应类型的 action, 都不能保证一定能够完整的执行监听方法例如: 连续派发了 3 次 GET_USER_INFO 的 action, 那么对于 takeEvery 而言, myHandler...那么问题来了,如果想要验证如上博主所说的这点,就必须要派发多次 action 那么该如何进行派发呢,正好可以借助该问题就可以引出一个全新的知识点了那么就是连续派发多个 action,如果我们只需要拦截一个类型的

    19930

    React saga_react获取子组件ref

    redux-saga的优势 传统意义讲,我们很多业务逻辑要在action中处理,所以会导致action的处理比较混乱,难以维护,而且代码量比较大,如果我们应用redux-saga会很大程度上简化代码,...如何处理副作用操作,在redux中选择在发出action,到reducer处理函数之间使用中间件处理副作用。...= createThunkMiddleware; export default thunk; 这几行代码做的事情也很简单,判别action的类型,如果action是函数,就调用这个函数,调用的步骤为...和调用redux的其他中间件一样,如果想使用redux-saga中间件,那么只要在applyMiddleware中调用一个createSagaMiddleware的实例。...而redux-saga的大体过程如下: action1(plain object)——>redux-saga监听—>执行相应的Effect方法——>返回描述对象—>恢复执行异步和副作用函数—>action2

    4.5K30

    深入理解 redux 数据流和异步过程管理

    redux-saga redux-saga 并没有改变 action,它会把 action 透传给 store,只是多加了一条异步过程的处理。...run 把 saga 的 watcher saga 跑起来: watcher saga 里面监听了一些 action,然后调用 worker saga 来处理: import { all, takeLatest...是被监听的,那么就执行相应的 taker,调用 worker saga 来处理: function* login(action) { try { const loginInfo = yield...redux saga 的异步过程管理就是这样的:先把 action 透传给 store,然后判断 action 是否是被 taker 监听的,如果是,则调用对应的 worker saga 进行处理。...redux-saga 透传了 action 到 store,并且监听 action 执行相应的异步过程。异步过程的描述使用 generator 的形式,好处是可测试性。

    2.5K10

    手写Redux-Saga源码

    获取数据后,我们调用了put去发出FETCH_USER_SUCCEEDED这个action,这里的put类似于Redux里面的dispatch,也是用来发出action的。...):他接收的参数就是action和callback,而且我们在根saga里面可能会多次调用它来注册不同action的处理函数,这其实就相当于往处理中心里面塞入事件了。...channel对应的源码可以看这里:github.com/redux-saga/… 有了channel之后,我们的中间件里面其实只要再干一件事情就行了,就是调用channel.put将接收的action...省略前面代码 const result = next(action); channel.put(action); // 将收到的action也发给Redux-Saga return result...整个Redux-Saga都是基于Generator的,每往下走一步都需要手动调用next,这样当他执行到中途的时候我们可以根据情况不再继续调用next,这其实就相当于将当前任务cancel了。

    1.7K30

    react项目架构之路初探

    Sagas 可以被看作是在后台运行的进程,Sagas 监听发起的action,然后决定基于这个 action来做什么 在 redux-saga 的世界里,所有的任务都通用 yield Effects 来完成...(Effect 可以看作是 redux-saga 的任务单元)。...,thunks 是在action被创建时调用,而 Sagas只会在应用启动时调用 redux-thunk中间件可以让action创建函数先不返回一个action对象,而是返回一个函数,函数传递两个参数...(dispatch,getState),在函数体内进行业务逻辑的封装 redux-thunk的缺点: action的形式不统一 ,异步操作太分散,分散在了各个actionredux-saga本质是一个可以自执行的...集中了所有的异步操作, 可以实现非阻塞异步调用,也可以使用非阻塞调用下的事件监听 阻塞与非阻塞的概念 异步操作的流程可以人为手动控制流程 **seamless-immutable ** 关于immutable

    2.5K10

    redux-saga

    包装成put、把方法调用包装成call/apply Effect -> 业务操作 在执行时内部进行转换,例如把[Effect1, Effect2]转换为并行调用 类似于装箱(把业务操作用Effect包起来...)拆箱(执行Effect里的业务操作),此外,完整的redux-saga还要实现: 作为middleware接入到Redux 提供读/写Redux state的接口(select/put) 提供监听action...co 四.术语概念 Effect Effect指的是描述对象,相当于redux-saga中间件可识别的操作指令,例如调用指定的业务方法(call(myFn))、dispatch指定action(put(...区别是Flux用action描述消息(发生了什么),而redux-saga用Effect描述操作指令(要做什么) Effect creator redux-saga/effects提供了很多用来生成Effect...常用的Effect creator如下: 阻塞型方法调用:call/apply 详见Declarative Effects 非阻塞型方法调用:fork/spawn 详见redux-saga’s fork

    1.9K41

    redux-saga_pub culture

    用了redux-saga之后: form组件触发提交action (一行简单的dispatch) reducer这个action不需要我处理 (打酱油了) saga提交表单的副作用走起~ (监听到触发副作用的...它提供的是位于 action 被发起之后,到达 reducer 之前的扩展点。 你可以利用 Redux middleware 来进行日志记录、创建崩溃报告、调用异步接口或者路由等等。...如何使用 redux-sage官方文档有很详细的使用说明,这里只做简单的上手说明。...redux-saga提供了几种产生副作用的方式, 主要用到了有两种takeEvery和takeLates。 takeEvery会在接到相应的action之后不断产生新的副作用。...之所以最后选择了saga是因为这段 Cheng Lou 的视频: On the Spectrum of Abstraction (youtube) 视频中讲述了在一种抽象的概念下如何去选择一种技术。

    1.4K10

    每日两题 T35

    惟一改变 state 的办法是触发 action,一个描述发生什么的对象。为了描述 action 如何改变 state 树,你需要编写 reducers。...你应该把要做的修改变成一个普通对象,这个对象被叫做 action,而不是直接修改 state。然后编写专门的函数来决定每个 action 如何改变应用的 state,这个函数被叫做 reducer。...redux-saga redux-saga 是一个用于管理应用程序 Side Effect(副作用,例如异步获取数据,访问浏览器缓存等)的 library,它的目标是让副作用管理更容易,执行更高效,测试更简单...redux-saga 是一个 redux 中间件,意味着这个线程可以通过正常的 redux action 从主应用程序启动,暂停和取消,它能访问完整的 redux state,也可以 dispatch...redux action

    77130

    前端实现异步的几种方式_redux是什么

    3.什么是redux-sagaredux-saga是一个Redux中间件,用来帮你管理程序的副作用。或者更直接一点,主要是用来处理异步action。...上一篇我们介绍过Redux的中间件,说白了就是在action被传递到reducer之前新进行了一次拦截,然后启动异步任务,等异步任务执行完成后再发送一个新的action调用reducer修改状态数据。...然后我们看下workerSaga,可以看到并不是直接调用异步函数或者派发action,而是通过call()以及put()这样的函数。这就是redux-saga中最为重要的一个概念:Effect。...因此,相比于直接调用异步函数,我们可以仅仅 yield 一条描述函数调用的指令,由redux-saga中间件负责解释执行该指令,并在获得结果响应时恢复Generator的执行。...当接收到指定action时,会启动一个worker saga,并驱动其中的yield调用

    1.7K30

    使用dva脚手架中使用redux-sage感受

    最近在使用了redux进行项目的开发,这个东西确实是把逻辑和页面的展示区分开了,在代码的书写上,以及以后的更改代码,提供了更多的方便. dva对redux-saga封装了一层,目前我使用的情况来看还是比较方便的...在使用redux-saga进行项目管理里,建议,使用者前,能够充分了解state的不足之处,我能理解react中state的不足之处便是:在项目足够大的时候,每个组件之间的相互调用参数,传递参数,给我带来了很多的不便...,比如一个下拉select的数据,在A组件中使用需要使用,在B组件中也是需要使用的,可是如果没有用redux-saga的话,那么我们就要在A组件中调用一次,B组件中调用一次,又或者是在A,B组件中都需要用到同一个接口...,我们只需要调用redux-saga的this.props.dispatch.把方法写到一个js文件中,然后在redux-saga中的action调用,在dva里改成了effect,带*的函数了....在使用redux-saga中难免会有异步数据同步不来的时候,我一般会把数据的展示和调用放到了render中,前提是componentDidMount 中调用了但是没有数据的展示,实在迫不得已才放到了render

    1.2K40
    领券