function foobar(){
asynch();
synch();
asynch2();
};
generates into something like that
var promise;
var promise2;
var promise3;
promise = new Promise(function(resolve, reject) {
asynch(function(){
promise.resolve();
});
});
promise.then(function(val) {
promise2 = new Promise(function(resolve, reject) {
synch(function(){
promise2.resolve();