var log = [];
var resolvedPromise = Promise.resolve(null);
function schedulePromiseTask(f) {
  resolvedPromise.then(f);
}

setTimeout(function() {
  log.push('t1start');
  schedulePromiseTask(function() {
    log.push('promise');
  });
  log.push('t1end');
}, 10);

setTimeout(function() {
  log.push('t2');
  postMessage(log.join(', '));
}, 10);