Not ES6, but with async/await, I tend to put this in the top of quite a few of my files, easier as a oneliner than pulling in from a library module a lot of the time.
const sleep = ms => new Promise(res => setTimeout(res, ms));
Said this earlier... I’ve pretty much rallied against any package manager that needs node+npm to install in the first place, it’s mostly redundant. In this case, it appears to work in line with the node_modules, package.json, and npm’s services, so I’m less disturbed by it… would prefer to see some push to get these changes aligned *in* npm@4/node@8, as there will be a lot of shifting for es6-style module support in that timeframe anyway.
I believe it was recently moved to stage 4... I've been using async functions since fairly early on (nearly 2 years now) via babel, and have to say, what the do for your async code is awesome... even Promise chains are very ugly by comparison.
Should probably add Walmart, I'd be surprised if they, along with GoDaddy are seeing the biggest load under Node today. When I was at GD, the content service for website builder (published sites end user sees) was seeing something like 300m requests:second and well under 15% load on *many* fewer servers.
Absolutely... And I know there are other, more complex control flow plugins, but I find, similar to redux, that the thunks for action creators is easier to reason with while working on them.
it's looking like yarn mostly wraps or is in addition to npm/node_modules instead of trying to displace it entirely... this I can get behind. It might be nice to see some of this make it into npm@4/node@8. Since there will probably be a *lot* of shakeout regarding es6 module syntax in that timeframe.
again.. not sure why this is so hard to spread... const sleep = ms => new Promise(res => setTimeout(res, ms)); ... await sleep(10000);Not ES6, but with async/await, I tend to put this in the top of quite a few of my files, easier as a oneliner than pulling in from a library module a lot of the time. const sleep = ms => new Promise(res => setTimeout(res, ms));redux-thunk[0] combined with fetch api[1][2] fits the bill pretty nicely.. even better with async functions for your action creators. export const myAction = (param) => async (dispatch, getState) => { try { dispatch(enableSpinner()); const result = await fetch('foo'); const data = await result.json(); dispatch(dataLoaded(data)); // will disable spinner } catch(err) { dispatch(generalError(err)); // will disable spinner } } [0] https://www.npmjs.com/package/redux-thunk [1] https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch [2] https://www.npmjs.com/package/isomorphic-fetch