scheduleWrite method
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;
}