.. | |||
LICENSE | 3 years ago | ||
README.md | 3 years ago | ||
inflight.js | 3 years ago | ||
package.json | 3 years ago |
One promise for multiple requests in flight to avoid async duplication
const inflight = require('promise-inflight') // some request that does some stuff function req(key) { // key is any random string. like a url or filename or whatever. return inflight(key, () => { // this is where you'd fetch the url or whatever return Promise.delay(100) }) } // only assigns a single setTimeout // when it dings, all thens get called with the same result. (There's only // one underlying promise.) req('foo').then(…) req('foo').then(…) req('foo').then(…) req('foo').then(…)
Tests!