title: Future returns null when trying to read fields from a document
body: <p>I have a future that returns a map that is</p>
  <pre><code>Future&lt;Map&lt;String, String&gt;&gt; getOtherUserInfo() async {
      if (FirebaseAuth.instance.currentUser != null) {
        await FirebaseFirestore.instance
            .collection(&quot;users&quot;)
            .doc(FirebaseAuth.instance.currentUser.uid)
            .get()
            .then((data) {
          var map = {
            &quot;email&quot;: data.get(&quot;email&quot;),
          };
          return map;
        });
      }
    }
  </code></pre>
  <p>And <code>FirebaseAuth.instance.currentUser != null</code> is <code>true</code> in this case.</p>
  <p>For some reason, instead of returning <code>map</code>, which is not <code>null</code>, the future returns <code>null</code>. I've also checked the <code>.then((data) {do something})</code> does indeed run.</p>
  <p>Edit: Also realized that if I do</p>
  <pre><code>.then((data) {
          return {&quot;this_is_a_sample_map&quot;, &quot;value&quot;};
        });
  </code></pre>
  <p>it still returns <code>null</code></p>