New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More

redux-saga-catch

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

redux-saga-catch

Helper for redux-saga, auto wrap saga with try-catch, prevent one throw stop all.


Version published
Weekly downloads
95
increased by21.79%
Maintainers
1
Weekly downloads
 
Created

redux-saga-catch

Helper for redux-saga, auto wrap saga with try-catch, prevent one throw stop all.

redux-saga工具集,为了业务健壮,自动将saga进行try-catch包装,避免一个出错导致其它saga也出错中止。

usage

install

npm i redux-saga-catch -S

helpers with auto try-catch

import { takeEvery, takeLatest, throttle } from 'redux-saga-catch'

function* rootSaga(){
  yield takeEvery(ACTION1, function*(){
    console.log('ACTION1 will always trigger')
    throw 'exception'
  })
  // same as takeLatest、throttle
}

new helper parallel use to combine sagas with auto try-catch

import { parallel } from 'redux-saga-catch'
function* rootSaga(){
  yield parallel([
    function*(){
      throw 'exception'
    },
    function*(){
      yield call(delay, 1000)
      console.log('not affected')
    }
  ])
}

new helper runAndTakeLatest use to run task once before takeLatest, trigger will abort first running

import { runAndTakeLatest } from 'redux-saga-catch'

function* saga(){
  yield runAndTakeLatest(ACTION1, function*(){
    console.log('Will run once without `ACTION1` fired.')
  })
}

new helper watchLatest and runAndWatchLatest use to re-run only selector returns changed.

import { watchLatest } from 'redux-saga-catch'

function* saga(){
  yield watchLatest(ACTION1, globalState => globalState.data, function*(data){
    console.log('Only run on `globalState.data` changed (use deep equal).')
  })
}

Upgrade from 0.0.9

1.x has added typescript support, if you are using 0.x, and meeting issue with typings check, you can overwrite redux's Action interface

declare module 'redux'{
  interface Action{
    type: any
    payload?: any
    [key: string]: any
  }
}

FAQs

Package last updated on 18 Oct 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts