MAIDR Documentation - v4.4.0
    Preparing search index...
    • Run a task with exclusive access to Tableau's summary-data reader.

      Tableau supports only one active DataTableReader for summary data, so a filter storm that fires several change events must not open a second one while the first is still paginating. Tasks run in the order they were enqueued, and a task that throws does not stall the ones behind it.

      Exported so the binder shares this one queue rather than starting a second: its pre-read clearSelectedMarksAsync has to land before the reads it is meant to precede.

      Not re-entrant. The queue is a strict serial chain, so calling this from inside a task that is already running on it waits forever. The binder enqueues its clear as its own task and then calls readWorksheet, which enqueues itself — it never wraps the two together.

      Type Parameters

      • T

      Parameters

      • task: () => Promise<T>

        The work to run while holding the queue.

      Returns Promise<T>

      Whatever the task resolves to; rejects with whatever it throws.