title: Kotlin coroutines get results from launch
body: <p>I'm new to kotlin and its concept coroutine.</p>
  
  <p>I have below coroutine using withTimeoutOrNull - </p>
  
  <pre><code>    import kotlinx.coroutines.*
  
      fun main() = runBlocking {
  
          val result = withTimeoutOrNull(1300L) {
              repeat(1) { i -&gt;
                  println("I'm with id $i sleeping for 500 ms ...")
                  delay(500L)
              }
              "Done" // will get cancelled before it produces this result
          }
          println("Result is $result")
      }
  </code></pre>
  
  <p>Output - </p>
  
  <pre><code>    I'm sleeping 0 ...
      Result is Done
  </code></pre>
  
  <p>I have another coroutine program without timeout - </p>
  
  <pre><code>    import kotlinx.coroutines.*
  
      fun main() = runBlocking {
          val result = launch {
              repeat(1) { i -&gt;
                  println("I'm sleeping $i ...")
                  delay(500L)
              }
              "Done" // will get cancelled before it produces this result
          }
  
          result.join()
          println("result of coroutine is ${result}")
      }
  </code></pre>
  
  <p>output - </p>
  
  <pre><code>    I'm sleeping 0 ...
      result of coroutine is StandaloneCoroutine{Completed}@61e717c2
  </code></pre>
  
  <p>How can I get the result of computation in kotlin coroutine when I don't use withTimeoutOrNull like my second program.</p>