Looping through iterators in Coffeescript

Updated . Posted . Visible to the public.

Some modern Javascript APIs return iterators Show archive.org snapshot instead of arrays.

In plain Javascript you can loop through an iterator using
for...of Show archive.org snapshot :

var iterator = ...;

for (var value of iterator) {
   console.log(value); 
}

While there is a for...of construct in Coffeescript, it iterates through property/value pairs Show archive.org snapshot and cannot be used to access iterable objects.

To iterate through an iterator in Coffeescript you need to do something like this:

iterator = ...;

while (entry = iterator.next()) && !entry.done
  console.log(entry.value)

The parentheses in the while cannot be omitted.

Henning Koch
Last edit
Henning Koch
License
Source code in this card is licensed under the MIT License.
Posted by Henning Koch to makandra dev (2016-03-29 08:09)