title: Type 'Promise<void>' is not assignable to type 'string' in anchor tag
body: <p>I am currently using Typescript in my react project and I am trying to call an API in my anchor tag but I get the following error:</p>
  <pre><code>Type 'Promise&lt;void&gt;' is not assignable to type 'string'.
  </code></pre>
  <p>My code is as follows:</p>
  <pre><code>GetSupplierCertificate(certificate: string) {
      return this.get(ApiUrls.supplierCertficate + '?id=' + certificate);
  }
      getCertificate = (certificate: string) =&gt; {
      return this.state.service.GetSupplierCertificate(certificate);
  }
                  &lt;td&gt;{EmpoweringSupplier ? 'Yes' : 'No'}&lt;/td&gt;
                  &lt;td&gt;&lt;a href={this.getCertificate(CertificateId)}&gt;View Certificate&lt;/a&gt; &lt;/td&gt;
  </code></pre>
  <p>my interface:</p>
  <pre><code>    interface AnchorHTMLAttributes&lt;T&gt; extends HTMLAttributes&lt;T&gt; {
      download?: any;
      href?: string;
      hrefLang?: string;
      media?: string;
      ping?: string;
      rel?: string;
      target?: string;
      type?: string;
      referrerPolicy?: HTMLAttributeReferrerPolicy;
  }
  </code></pre>
  <p>my BaseApi service:</p>
  <pre><code>    export class BaseApiService {
    get&lt;T&gt;(url: string): Promise&lt;ResultWithValue&lt;T&gt;&gt; {
      return axios
        .get(`${baseApiUrl}${url}`)
        .then((response: any) =&gt; {
          return {
            isSuccess: true,
            value: response.data as T,
            errorMessage: &quot;&quot;,
          };
        })
        .catch((ex: any) =&gt; {
          return {
            isSuccess: false,
            value: {} as T,
            errorMessage: ex.message,
          };
        });
    }
  </code></pre>
  <p>and my promise function:</p>
  <pre><code>    export interface Result {
    isSuccess: boolean;
    errorMessage: string;
  }
  
  export interface ResultWithValue&lt;T&gt; extends Result {
    value: T;
  }
  
  export const toResult = &lt;T&gt;(value: T): ResultWithValue&lt;T&gt; =&gt; ({
    isSuccess: true,
    errorMessage: '',
    value: value
  })
  
  export const toPromiseResult = &lt;T&gt;(value: T): Promise&lt;ResultWithValue&lt;T&gt;&gt; =&gt;
    Promise.resolve(toResult(value));
  </code></pre>
  <p>The error occurs in my <code>&lt;td&gt;&lt;a&gt;</code>, is there a better way to do this?</p>