title: Async function returns [object Promise] instead of the real value
body: <p>I'm very new to ReactJS.</p>
  
  <p>I have some problem with the return value of <strong>async function</strong></p>
  
  <p>when I call </p>
  
  <pre><code>const result = this.getFieldsAPI();
  </code></pre>
  
  <p>the <strong>result</strong> value is [object Promise]</p>
  
  <p>I see [object Promise] from <strong>console.log("result : " + result);</strong></p>
  
  <pre><code>getFieldsAPI = async() =&gt; {
      let currentChromosome = "";
      switch (this.state.chromosome) {
        case "Autosom":
          currentChromosome = "/getlocusautosomalkit/";
          break;
        case "Y_STRs":
          currentChromosome = "/getlocusykit/";
          break;
        case "X_STRs":
          currentChromosome = "/getlocusxkit/";
          break;
        default:
          currentChromosome = "";
      }
      let result = [];
      await Axios.get(API_URL + currentChromosome + this.state.currentKit).then((Response) =&gt; {
        Response.data.map((locus) =&gt; {
          result.push(locus);
        });
      })
      return "result";
    }
  
    // To generate mock Form.Item
    getFields() {
      const count = this.state.expand ? 10 : 6;
      const { getFieldDecorator } = this.props.form;
      const children = [];
      const result = this.getFieldsAPI();
      console.log("result : " + result);
      for (let i = 0; i &lt; 10; i++) {
        children.push(
          &lt;Col span={8} key={i} style={{ display: i &lt; count ? 'block' : 'none' }}&gt;
            &lt;Form.Item label={`Field ${i}`}&gt;
              {getFieldDecorator(`field-${i}`, {
                rules: [{
                  required: true,
                  message: 'Input something!',
                }],
              })(
                &lt;Input placeholder="placeholder" /&gt;
              )}
            &lt;/Form.Item&gt;
          &lt;/Col&gt;
        );
      }
      return children;
    }
  </code></pre>