title: Does this.setState return promise in react
body: <p>I made my <code>componentWillMount()</code> async. Now I can using <code>await</code> with the <code>setState</code>.</p>
  
  <p>Here is the sample code:</p>
  
  <pre><code>componentWillMount = async() =&gt; {
    const { fetchRooms } = this.props
    await this.setState({ })
    fetchRooms()
  }
  </code></pre>
  
  <p>So question here is <code>this.setState</code> returns promise because I can use <code>await</code> with it?</p>
  
  <p><strong><em>Edit</em></strong> </p>
  
  <p>When I put await then it runs in a sequence <code>1, 2, 3</code> And when I remove await then it runs <code>1, 3, 2</code>??</p>
  
  <pre><code>  componentWillMount = async() =&gt; {
      const { fetchRooms } = this.props
      console.log(1)
      await this.setState({ } =&gt; {
        console.log(2)
      })
      console.log(3)
      fetchRooms()
    }
  </code></pre>