1.0.1 • Published 7 years ago

promise-inflight v1.0.1

Weekly downloads
11,103,297
License
ISC
Repository
github
Last release
7 years ago

promise-inflight

One promise for multiple requests in flight to avoid async duplication

USAGE

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(…)

SEE ALSO

  • inflight - For the callback based function on which this is based.

STILL NEEDS

Tests!

vuedragdropuploadimagespopsmart-common-authkilli8n-react-native-fast-image@cashremit/cr-streamline-iconsbb-chat@frxf/frxf@texttree/demo-bsa-reference-rcl@fundefund/funde_ckgql_din_mod@l1nyanm1ng/react-picture-viewer@saeon/ol-react@saeon/quick-formcogoportutilsjs4cytoscape@mink-opn/build-tokens@infinitebrahmanuniverse/nolb-promise-@saaspe/componentsexpand-react-bridgenode-gio@everything-registry/sub-chunk-2481design-system-fitbank-450demo-component-skyflyer86react-misc-toolboxsequelcomponentselect2-selectallshaocongwangsipengine-modaleditorjs-alerticonssmtrstock-ticker-react-widgetes-react-bridgestnenopmoc-iuemr-tabulator-tablesera-ckeditor5dfeuk-frontenddfeuk-frontend-manualreact-picky-with-cleardiscord.js-bycondiscordjs-con-selfreact-redux-demo1react-otp-input-uptddigital-keyboard-demosqa_hdd@dinert/echartssamc2samc3samc4samc5sam-carouselrefinejs-reporegression-external-dtoresponsive-react-appreyhan-projecteasyplayer-myc0850341labtest2campus-carosellocampus1campus2campus3campus4candlelabssdkcar-cmp-2caropcarop2carop3carop4carosello-campus-opacitacarosello-tribuscarosello-tribus-2case-gg-editor@beldore/react-otp-input@beisen/npm@carhoo/widget-dealers@castrum-nubis/bulma@cdk8s-extensions/argo-rollout@cleveradssolutions/cas.cordova.unity@cleveradssolutions/cas.cordova.vungle@cleveradssolutions/cas.cordova.yandex@cleveradssolutions/cas.cordova.adcolony@cleveradssolutions/cas.cordova.admob@cleveradssolutions/cas.cordova.applovin@cleveradssolutions/cas.cordova.facebook@cleveradssolutions/cas.cordova.families@cleveradssolutions/cas.cordova.fyber@cleveradssolutions/cas.cordova.inmobi@cleveradssolutions/cas.cordova.ironsource@cleveradssolutions/cas.cordova.kidoz@cleveradssolutions/cas.cordova.mintegral@cleveradssolutions/cas.cordova.mytarget@cleveradssolutions/cas.cordova.optimal@cleveradssolutions/cas.cordova.pangle@cleveradssolutions/cas.cordova.superawesome@cleveradssolutions/cas.cordova.tapjoy@southcn/ckeditor5-build-inlineluojia-cli-devm2m-chartjs-plugin-crosshair@swiizyyy/discord-akairoprova-2-caroselloprova-cmpprova-cpm-2
1.0.1

7 years ago

1.0.0

7 years ago