title: How to use Q.Promise<string> as string?
body: <p>I have function returning string Q.Promise</p>
  
  <pre><code>module test {
  
      export function promiseString (): Q.Promise&lt;string&gt; {
          var deferred = Q.defer&lt;string&gt;();
          deferred.resolve('someMessage');
          return deferred.promise;
      }
  
  }
  </code></pre>
  
  <p>How I can to use return value as string?</p>
  
  <p><strong>Option #1:</strong></p>
  
  <pre><code>Q.fcall(promiseString).then(function (message: string) {
      //  compilation error about incompatible parameters     
  });
  </code></pre>
  
  <p><strong>Option #2:</strong></p>
  
  <pre><code>Q.fcall(promiseString).then(function (promise: Q.Promise&lt;string&gt;) {
      console.log(typeof promise);    //  output string
      //  but i can't use promise as string further
  });
  </code></pre>