title: TSlint return promise string array
body: <p>How do I make a function return a promise-string-array?</p>
  
  <pre><code>  this.MyArray= [];
  
    async OtherFunction() {
      this.MyArray= await this.callQuery(); //***
    }
  
    async callQuery() {
      return await new Promise((resolve, reject) =&gt; {
        this.httpclient.get('').subscribe(response =&gt; {
          resolve(response);
        });
      });
    }
  </code></pre>
  
  <p>In this example, my tslint is throwing an error over the <code>this.MyArray</code> in the link with the <code>//***</code>. The error says: <code>Type '{}' is not assignable to type 'any[]</code>. But when add a type declaration to the <code>callQuery()</code> function like this: </p>
  
  <p><code>async callQuery(pQuery): string[] {</code></p>
  
  <p>then I get a tslint error over <code>string[]</code> saying: <code>Type 'string[]' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value</code>.</p>
  
  <p>All I am trying to get right is to remove the tslint error over the <code>this.MyArray</code> like I explained in the first paragraph. I assume the way to fix this is to have <code>callQuery()</code> return an array, but I don't know how to get this working without tslint complaining.</p>
  
  <p><em>Note: My callQuery() function will always return an array. So the code is working correctly, it is just tslint that is giving me errors.</em></p>