git ssb

2+

cel / scuttlebot.io



Tree: 07de6e0bf8f8051cfea29058496ca70ae04e5c99

Files: 07de6e0bf8f8051cfea29058496ca70ae04e5c99 / tmpl / apis / pull-stream / pull-timeout.md

867 bytesRaw

pull-timeout

Timeout pull streams.

If you have long running streams that depend on extermal resources, you might want abort the stream when timing out.

Usage

timeout(ms)

Example

var pull = require("pull-stream");
var timeout = require("pull-timeout");

pull(
  pull.values([1,2,3,4,5,6,7,8,9,10]),
  pull.asyncMap( function (data, done) {
    setTimeout( function () {
      done(null, data);
    }, Math.round(Math.random()*4) == 0 ? 1500 : 100)
  }),
  timeout(1000),
  pull.Through( function (read) {
    return function next (end, cb) {
      read(end, function (end, data) {
        console.log(end, data);
        if (end && end !== true) return next(null, cb);
        cb(end, data);
      })
    }
  })(),
  pull.drain(function (){})
)

install

With npm do:

npm install pull-timeout

license

MIT

Built with git-ssb-web