setTimeout(function () { console.log('two'); setTimeout(function () { console.log('three'); }, 1000); }, 1000); }, 1000); function one(callback) { console.log('one'); setTimeout(callback, 1000); } function two(callback) { console.log('two'); setTimeout(callback, 1000); } function three(callback) { console.log('three'); setTimeout(callback, 1000); } one(function() { two(three); }); @di3goleite