This repository was archived by the owner on Dec 1, 2024. It is now read-only.
Conversation
Member
Author
|
Ah. Implementations like So we don't have to do it in userland. The strategy is:
|
83 tasks
vweevers
added a commit
that referenced
this pull request
Sep 12, 2021
Closes #235. Supersedes #338, which was just a proof of concept and we've since dropped support of legacy runtimes (Level/community#98) which now allows us to use async generators across the board.
Member
Author
|
Superseded by #379. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Do not merge. Ignore failing tests.
This is to find out what we need to support
Symbol.asyncIteratorin userland (we cannot do it here because we need async generators to properly handle ending on errors, and async generators are only available in Node 10+ and Chrome).The answer is that we need to add Promise support to
iterator.next()and.end(). We can do that in the same way aslevelup: if you don't provide a callback argument, you get back a Promise.This means there will be three ways to iterate:
async/await(a bit awkward)for await...ofcc @chjj @peakji
Previous discussions: