🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

redux-mid-async-func

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

redux-mid-async-func

Use Promise.resolve to return dispatch result.

latest
Source
npmnpm
Version
0.0.1
Version published
Weekly downloads
1
-50%
Maintainers
1
Weekly downloads
 
Created
Source

redux-mid-async-func

what the different between redux-thunk

Use Promise.resolve to return dispatch result.

Which situation you need it

Imagine you have two apis. API-1 and API-2. There're no dependence between them.

const thunk1 = (dispatch, getState) => {
  API1.fetch({data: getState().data1}).then(resp => dispatch({ type: 'API1.success', payload: resp }));
}

const thunk2 = (dispatch, getState) =>{
  API2.fetch({data: getState().data2}).then(resp => dispatch({ type: 'API2.success', payload: resp }));
}

store.dispatch(thunk1);
store.dispatch(thunk2);

One day, API-2 in some situation need some data depends on API-1. And some additional actions need to be dispatched after thunk1 and thunk2 finished. With redux-thunk you don't now whether have async FUNCs been finished. So here, you may use redux-mid-async-func.

How to use

What different with thunk is that, please ensure all the thunk FUNCs return a Promise.

const thunk1 = async(dispatch, getState) => {
  return new Promise(r => {
    API1.fetch({data: getState().data1}).then(resp => r(dispatch({ type: 'API1.success', payload: resp })));
  });
}
const thunk2 = async(dispatch, getState) => {
  return new Promise(r => {
    API2.fetch({data: getState().data2}).then(resp => r(dispatch({ type: 'API2.success', payload: resp })));
  });
}

(async() => {
  await store.dispatch(thunk1);
  await store.dispatch(thunk2);
})();

FAQs

Package last updated on 17 Mar 2018

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