Description
As discussed in plenary.
We should have variants of each of the iterator helpers that yield their results in an order that depends on the order of resolution of promises from the parameter. Removing this ordering constraint allows for even more concurrency than just pulling from the underlying iterator before earlier promises from it have resolved would allow. The only constraints will be that no promises yielded by these iterators after a promise that either rejects or resolves with done: true
will resolve with done: false
.
These variants should be available under the same names on a separate prototype object that inherits from AsyncIterator.prototype
. We can have a helper on AsyncIterator.prototype
for creating iterators that inherit from this new prototype called something like .unordered()
.