response.step

flow control on for root

response.step

response.step is a small plugin for root that adds a step function to the response

npm install response.step

response.step is useful is when nested async code needs to be flattened out a bit

var root = require('root');
 
var app = root();
 
app.use(require('response.step'));
 
app.get(function(requestresponse) {
    response.step(
        function(next) {
            setTimeout(next, 300);
        },
        function(next) {
            setTimeout(next, 500);
        },
        function() {
            response.send('waiting approx 800ms!\n');
        }
    );
});
 
app.listen(8080);

response.step takes care of all our error handling for us.

app.get(function(requestresponse) {
    response.step(
        function(next) {
            next(new Error('bad stuff'));
        },
        function() {
            // i am never called 
        }
    );
});
 
app.error(function(requestresponse) {
    // all errors are forwarded to me 
});