<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Joachim Waldmann</title>
    <description>The latest articles on DEV Community by Joachim Waldmann (@waldmannjo).</description>
    <link>https://dev.to/waldmannjo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F244687%2F7da2a750-8e32-432e-946f-ae0fd6787185.png</url>
      <title>DEV Community: Joachim Waldmann</title>
      <link>https://dev.to/waldmannjo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/waldmannjo"/>
    <language>en</language>
    <item>
      <title>I just don't understand async/await 😢!</title>
      <dc:creator>Joachim Waldmann</dc:creator>
      <pubDate>Sat, 02 Nov 2019 20:01:19 +0000</pubDate>
      <link>https://dev.to/waldmannjo/i-just-don-t-understand-async-await-2ohf</link>
      <guid>https://dev.to/waldmannjo/i-just-don-t-understand-async-await-2ohf</guid>
      <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I'm pretty new to coding and having a hard time understanding async/await.&lt;/p&gt;

&lt;p&gt;My question: why is &lt;code&gt;createUserInFirestore&lt;/code&gt; executing before &lt;code&gt;userExists&lt;/code&gt;?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;async googleLogin () {
      var provider = new firebase.auth.GoogleAuthProvider()
      try {
        const result = await firebase.auth().signInWithPopup(provider)
        const uid = result.user.uid
        const userExists = await this.userExists(uid)
        if (!userExists) {
          this.createUserInFirestore(uid)
        }
      } catch (error) {...}

async userExists (uid) {
      const usersRef = db.collection('users').doc(uid)

      usersRef.get()
        .then(async (docSnapshot) =&amp;gt; {
          if (docSnapshot.exists) {
            console.log('user already exists in firestore')
            return true
          } else {
            console.log('no user in firestore')
            return false
          }
        })
    }
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Thanks&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>async</category>
      <category>await</category>
      <category>help</category>
    </item>
  </channel>
</rss>
