onilabs

Concurrent Programming in JS

doAsyncOperationA(function(result1) {
  doAsyncOperationB(result1, function(result2) {
    doAsyncOperationC(result2, function(result3) {
      handleResult(result3);
    })
  })
});
"It is more difficult to develop applications using asynchronous mechanisms due to the separation in time and space between operation initiation and completion" (boost::asio docs)