code: function scheduleTick(rootContext) {
      if (rootContext.clean == _CLEAN_PROMISE) {
          var res_1;
          rootContext.clean = new Promise(function (r) { return res_1 = r; });
          rootContext.scheduler(function () {
              tickRootContext(rootContext);
              res_1(null);
              rootContext.clean = _CLEAN_PROMISE;
          });
      }
  }
docs: Used to schedule change detection on the whole application.
  
  Unlike `tick`, `scheduleTick` coalesces multiple calls into one change detection run.
  It is usually called indirectly by calling `markDirty` when the view needs to be
  re-rendered.
  
  Typically `scheduleTick` uses `requestAnimationFrame` to coalesce multiple
  `scheduleTick` requests. The scheduling function can be overridden in
  `renderComponent`'s `scheduler` option.