0.0.4 • Published 9 years ago

node-timeout v0.0.4

Weekly downloads
141
License
MIT
Repository
github
Last release
9 years ago

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
0.0.4

9 years ago

0.0.3

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago