#827: Early design review: scheduler.yield()

Visit on Github.

Opened Mar 22, 2023

こんにちは TAG-さん!

I'm requesting a TAG review of scheduler.yield().

scheduler.yield() is an API for yielding control to the browser's event loop, which can be used to break up long tasks. Awaiting the promise returned by scheduler.yield() causes the current task to yield, continuing in a new browser task. This can be used to improve responsiveness issues caused by long tasks. Continuations are prioritized to mitigate performance problems of existing alternatives.

Further details:

  • I have reviewed the TAG's Web Platform Design Principles
  • The group where the incubation/design work on this is being done (or is intended to be done in the future): WICG
  • The group where standardization of this work is intended to be done ("unknown" if not known): unknown
  • Existing major pieces of multi-stakeholder review or discussion of this design:
  • Major unresolved issues with or opposition to this design:
  • This work is being funded by: Google

We'd prefer the TAG provide feedback as (please delete all but the desired option):

🐛 open issues in our GitHub repo for each point of feedback

Discussions

2023-04-tokyo

Minutes

Concerns about multi-stakeholder commitement to the underlying model.

Left feedback about intention of options params (e.g. can it be implemented without the rest of the scheduler changes?), and conflict with abort signal naming.

2023-07-mos-eisley

Minutes

Tess and Peter left feedback in April and have received no response. Closed as satisfied with concerns.