Skip to content

Commit

Permalink
DOM: Implement abortable async iterable Observables
Browse files Browse the repository at this point in the history
The IteratorRecord#return() function exists as an optional method that
sync and async iterator records can supply [1] [2]. They allow for the
language, or any consumer of an iterable, to signal to the iterable that
the consumer will stop consuming values prematurely (i.e., before
exhaustion).

This method must be invoked when the consumer aborts its subscription
to an Observable that was derived from an iterable. The abort reason is
supplied to the `return()` iterator function for completeness. This CL:
  1. Adds tests for sync & async iterables
  2. Implements this for async iterables

A follow-up CL will implement this for sync iterables.

The semantics are specified in
WICG/observable#160.

[1]:
https://tc39.es/ecma262/#table-iterator-interface-optional-properties
[2]: https://tc39.es/ecma262/#table-async-iterator-optional

Bug: 40282760
Change-Id: Ie1091b24b233afecdec572feadc129bcc8a2d4d3
  • Loading branch information
domfarolino authored and chromium-wpt-export-bot committed Sep 23, 2024
1 parent 43f3ba0 commit 53ee02f
Showing 1 changed file with 440 additions and 0 deletions.
Loading

0 comments on commit 53ee02f

Please sign in to comment.