scheduleWrite method

Disposable scheduleWrite(
  1. DomReadWriteFn fn
)

Schedules a coordinated DOM write. If already isWritingDom, fn is executed synchronously.

Otherwise, it will execute in the next animation frame. It is possible to cancel by calling Disposable.dispose on the return (deprecated). It is better to pass in a DisposableCallback instead DisposableCallback callback = new DisposableCallback(fn); domService.scheduleWrite(callback);

Implementation

Disposable scheduleWrite(DomReadWriteFn fn) {
  if (_state == DomServiceState.Writing) {
    fn();
    return Disposable.Noop;
  }
  // This is temporary until all the callers are fixed.
  DisposableCallback callback = DisposableCallback(fn);
  _scheduleInQueue(callback.call, _domWriteQueue);
  return callback;
}