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.
Objective
Add async methods that replicate array prototype iterators.
These methods will have similar functionality to array prototypes iterators, but they can additionally carry out asynchronous tasks in order.
For example, the
aReduce
method will allow you to reduce an array asynchronously, which is currently not possible with array prototype.Why
Most native array prototype iterators do not work well with async.
With
forEach
, you can schedule async tasks, but they will not occur in order.With
map
, it returns an array of promises.reduce
doesn't work at all with async values.User Experience
These methods will give users a more familiar interface for working with asynchronous iteration. Most javascript developers don't work with
while
loops on a regular basis.