Looping through iterators in Coffeescript

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 About 8 years ago