Blame view

node_modules/inflight/README.md 991 Bytes
f7563de62   Palak Handa   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  # inflight
  
  Add callbacks to requests in flight to avoid async duplication
  
  ## USAGE
  
  ```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)
  ```