title: Does kotlin coroutines have async call with timer?
body: <p>Does Kotlin has possibility to call function async() in coroutines with some time, witch will return default result after time completion?</p>
  
  <p>I found that it's possible to only call await, and than infinity wait the result. </p>
  
  <pre><code>async {
          ...
          val result = computation.await()
          ...
  }
  </code></pre>
  
  <p>But real production case than you need to return either default result or exception. What is proper way to do something in Kotlin coroutines? Like something similar to this:</p>
  
  <pre><code>async {
          ...
          val timeout = 100500
          val result: SomeDeferredClass = computation.await(timeout)
          if (result.isTimeout()) {
             // get default value
          } else {
             // process result
          }
          ...
  }
  </code></pre>