title: Await doesn't wait
body: <pre><code>function resolveAfter2Seconds(x) {
      return new Promise(resolve =&gt; {
          setTimeout(() =&gt; {
              resolve(x);
          }, 2000);
      });
  }
  
  async function f1() {
      var x = await resolveAfter2Seconds(10);
      console.log(x); 
  }
  
  f1();
  let x =  3;
  </code></pre>
  
  <p>Why do we see the following scenario?</p>
  
  <ol>
  <li>Entering the f1. Stops on await.</li>
  <li>Returns from f1 (console.log(x) command doesn't execute)</li>
  <li>assign 3 to x (ERROR! await skipped, js steps forward)</li>
  <li>Return to f1 on line "console.log(x)". Print x.</li>
  </ol>
  
  <p>Why JS not waiting on await and steps forward? May you give me an advice?</p>