title: Android. How to correct launch coroutine without blocking UI?
body: <p>I'm new in coroutines. And I'm trying add it to my project. Also I'm using MVVM.
  In the documentation I read <code>viewModelScope.launch { }</code>:</p>
  <blockquote>
  <p>Launches a new coroutine without blocking the current thread</p>
  </blockquote>
  <p>But at the same time, I often see code constructs like this:</p>
  <pre><code>viewModelScope.launch {
     launch {
        // call some suspend fun here
    }
  }
  </code></pre>
  <p>Why is another <code>launch{}</code> here if the documentation says that <code>viewModelScope.launch { }</code> launches a new coroutine without blocking the current thread.</p>
  <p>Wouldn't it be enough to write like this:</p>
  <pre><code> viewModelScope.launch {
      // call some suspend fun here
    }
  </code></pre>
  <p>Could such a construction (launch inside viewModelScope.launch) be useful in some cases? Maybe I don't understand something, please help me.</p>