Looping through iterators in Coffeescript

Some modern Javascript APIs return iterators Archive instead of arrays.

In plain Javascript you can loop through an iterator using
for...of Archive :

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 Archive 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 almost 6 years ago
This website uses short-lived cookies to improve usability.
Accept or learn more