Socket
Socket
Sign inDemoInstall

redux-saga-catch

Package Overview
Dependencies
13
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

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
Maintainers
1
Install size
28.0 kB
Created

Readme

Source

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
  }
}

Keywords

FAQs

Last updated on 18 Oct 2022

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc