title: Promise vs setTimeout
body: <p>I've observed that in the following code:</p>
  
  <pre><code>setTimeout(function(){console.log('setTimeout')});
  Promise.resolve(1).then(function(){console.log('promise resolve')})
  </code></pre>
  
  <p>No matter how many times I execute this, the promise callback always logs before the setTimeout.</p>
  
  <p>My understanding is that both callbacks are scheduled to be executed to the next tick, and I don't really understand what is going on that makes the promise always take precendence over the timeout.</p>