"Fossies" - the Fresh Open Source Software Archive

Member "Atom/resources/app/apm/node_modules/npm/node_modules/inflight/README.md" (17 Oct 2016, 991 Bytes) of archive /windows/misc/atom-windows.zip:

As a special service "Fossies" has tried to format the requested source page into HTML format (assuming markdown format). Alternatively you can here view or download the uninterpreted source code file. A member file download can also be achieved by clicking within a package contents listing on the according byte size field.


Add callbacks to requests in flight to avoid async duplication


```javascript var inflight = require(‘inflight’)

// some request that does some stuff function req(key, callback) { // key is any random string. like a url or filename or whatever. // // will return either a falsey value, indicating that the // request for this key is already in flight, or a new callback // which when called will call all callbacks passed to inflightk // with the same key callback = inflight(key, callback)

// If we got a falsey value back, then there’s already a req going if (!callback) return

// this is where you’d fetch the url or whatever // callback is also once()-ified, so it can safely be assigned // to multiple events etc. First call wins. setTimeout(function() { callback(null, key) }, 100) }

// only assigns a single setTimeout // when it dings, all cbs get called req(‘foo’, cb1) req(‘foo’, cb2) req(‘foo’, cb3) req(‘foo’, cb4) ```