title: In Javascript does async await wait for all nested functions to complete?
body: <p>In the example below I need to reset some values before making the fetchData call in the fetch method. Does async await wait for all functions in the reset method to complete before continuing?</p>
  
  <pre><code>fetch = async () =&gt; {
    await this.reset();
    this.props.fetchData();
  };
  
  reset = () =&gt; {
    this.props.resetFilter();
    this.props.resetClient();
    this.props.resetUser();
  };
  </code></pre>
  
  <p>Or do you have to do something like below?</p>
  
  <pre><code>fetch = () =&gt; {
    this.reset().then(() =&gt; {
      this.props.fetchData();
    });
  };
  
  reset = async () =&gt; {
    await this.props.resetFilter();
    await this.props.resetClient();
    await this.props.resetUser();
  };
  </code></pre>
  
  <p>Thanks :)</p>