hunk.code_window: | `asyncScheduler`          | Schedules work with `setInterval`. Use this for time-based operations.                                                                                                         |
   | `animationFrameScheduler` | Schedules task that will happen just before next browser content repaint. Can be used to create smooth browser animations.                                                     |
   ## Using Schedulers
   You may have already used schedulers in your RxJS code without explicitly stating the type of schedulers to be used. This is because all Observable operators that deal with concurrency have optional schedulers. If you do not provide the scheduler, RxJS will pick a default scheduler by using the principle of least concurrency. This means that the scheduler which introduces the least amount of concurrency that satisfies the needs of the operator is chosen. For example, for operators returning an observable with a finite and small number of messages, RxJS uses no Scheduler, i.e. `null` or `undefined`. For operators returning a potentially large or infinite number of messages, `queue` Scheduler is used. For operators which use timers, `async` is used.
   Because RxJS uses the least concurrency scheduler, you can pick a different scheduler if you want to introduce concurrency for performance purpose. To specify a particular scheduler, you can use those operator methods that take a scheduler, e.g., `from([10, 20, 30], asyncScheduler)`.
   **Static creation operators usually take a Scheduler as argument.** For instance, `from(array, scheduler)` lets you specify the Scheduler to use when delivering each notification converted from the `array`. It is usually the last argument to the operator. The following static creation operators take a Scheduler argument:
  
hunk.labels: keep keep keep keep keep replace keep keep keep keep keep
hunk.after_edit: You may have already used schedulers in your RxJS code without explicitly stating the type of schedulers to be used. This is because all Observable operators that deal with concurrency have optional schedulers. If you do not provide the scheduler, RxJS will pick a default scheduler by using the principle of least concurrency. This means that the scheduler which introduces the least amount of concurrency that satisfies the needs of the operator is chosen. For example, for operators returning an observable with a finite and small number of messages, RxJS uses no Scheduler, i.e. `null` or `undefined`. For operators returning a potentially large or infinite number of messages, `queueScheduler` Scheduler is used. For operators which use timers, `async` is used.
  
hunk.file_path: docs_app/content/guide/scheduler.md
hunk.type: replace
file: body {
    font-family: $main-font;
    margin: 0;
    color: $darkgray;
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  
  h1 {
    display: inline-block;
    font-size: 24px;
    font-weight: 500;
    margin: 8px 0px;
  
    @media screen and (max-width: 600px) {
      margin-top: 0;
    }
  }
  
  h2 {
    font-size: 22px;
    font-weight: 500;
    margin: 32px 0px 24px;
    clear: both;
  }
  
  h3 {
    font-size: 20px;
    font-weight: 400;
    margin: 24px 0px;
    clear: both;
  }
  
  h4 {
    font-size: 18px;
    font-weight: 400;
    margin: 8px 0px;
    clear: both;
  }
  
  h5 {
    font-size: 16px;
    font-weight: 500;
    margin: 8px 0px;
    clear: both;
  }
  
  h6 {
    color: $mediumgray;
    font-size: 16px;
    font-weight: 500;
    margin: 8px 0px;
    clear: both;
  }
  
  h2, h3, h4, h5, h6 {
    @media screen and (max-width: 600px) {
      margin: 8px 0;
    }
  }
  
  .mat-tab-body-wrapper h2 {
    margin-top: 0;
  }
  
  p, ol, ul, ol, li, input, a  {
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.30px;
    font-weight: 400;
    & > em {
      letter-spacing: 0.30px;
    }
  }
  
  ol {
    li, p {
      margin: 4px 0;
    }
  }
  
  li p {
    margin: 0;
  }
  
  a {
    text-decoration: none;
  }
  
  .app-toolbar a {
    font-size: 16px;
    font-weight: 400;
    color: white;
    font-family: $main-font;
    text-transform: uppercase;
    padding: 21px 0;
  }
  
  strong {
    font-weight: 600;
  }
  
  table {
    border-collapse: collapse;
    border-radius: 2px;
    border-spacing: 0;
    margin: 0 0 32px 0;
  }
  
  table tbody th {
    max-width: 100px;
    padding: 13px 32px;
    text-align: left;
  }
  
  td {
    font-weight: 400;
    padding: 8px 30px;
    letter-spacing: 0.30px;
  
    p {
      margin: 0;
    }
  }
  
  th {
    font-size: 16px;
    font-weight: 500;
    padding: 13px 32px;
    text-align: left;
  }
  
  p > code, li > code, td > code, th > code {
    font-family: $code-font;
    font-size: 85%;
    color: $darkgray;
    letter-spacing: 0;
    line-height: 1;
    padding: 2px 0;
    background-color: $backgroundgray;
    border-radius: 4px;
  }
  
  code {
    font-family: $code-font;
    font-size: 90%;
  }
  
  .sidenav-content a {
    color: $pink;
    &:hover {
      color: $mediumgray;
    }
  }
  
  .informal {
    display: block;
    padding-left: 1.3em;
    border-left: 5px solid #dfdfdf;
    font-size: 1.1em;
    font-style: italic;
    margin: 22px 0;
  }
  