node-timeout

0.0.4 • Public • Published

node-timeout

async module

var async = require('async');
var Timeout = require('node-timeout');
 
var limit = Timeout(500, {
    err: new Error('callback timeout!')
});
 
async.waterfall(
    [
 
        function(cb) {
            console.log('hello 1');
            dosomething(3000, limit(cb));
        },
        function(cb) {
            console.log('hello 2');
            dosomething(1000, limit(cb));
        }
    ],
    function(err) {
        if (err) {
            console.log('err:', err);
        }
        console.log('over');
    }
);
 
var dosomething = function(time, cb) {
    setTimeout(cb, time);
};

output

hello 1
err: [Error: callback timeout!]
over

http module

var http = require('http');
var Timeout = require('../');
 
var limit = Timeout(1000, {
    http: true,
    err: {
        statusCode: 408 // timeout status
    }
});
 
// This is a test page which will spend 5 sec to load
url = 'http://lellansin.com/test/timeout.php';
 
var deal = function(res) {
    if (res.statusCode == 200) {
        // normal status
        res.on('data', function(chunk) {
            var content = chunk.toString();
            console.log(content.toString());
        });
    } else {
        // exception status
        console.log('http status', res.statusCode);
    }
    console.log('over');
};
 
http.get(url, limit(deal));

output

http status 408
over

Readme

Keywords

Package Sidebar

Install

npm i node-timeout

Weekly Downloads

274

Version

0.0.4

License

MIT

Last publish

Collaborators

  • lellansin