title: Cancel Async operation
body: <pre><code>private async void TriggerWeekChanged(Week currentWeek)
  {
      await LoadDataForSelectedWeek(currentWeek); //Split into multiple methods 
  }
  </code></pre>
  
  <p>In case a user hammers on the <code>Change_Week</code> Button how can I cancel the current Task, and start a new one with the new paramerters ?</p>
  
  <p>I tried like this:</p>
  
  <pre><code>private async Task Refresh(Week selectedWeek, CancellationToken token)
  {
      Collection.Clear();
  
      await LoadDataFromDatabase();
  
      token.ThrowIfCancellationRequested();
  
      await ApplyDataToBindings();
  
      token.ThrowIfCancellationRequested();
  
      //Do some other stuff
  }
  </code></pre>
  
  <p><strong>Problem is:</strong>
  In my <code>Collection</code> I got data from multiple weeks when I hit the button to fast in a row.</p>