UNPKG

rafa

Version:

Rafa.js is a Javascript framework for building concurrent applications.

27 lines (19 loc) 781 B
An Enumerator is an iterator that supports concurrency. Like an iterator, it has a next method, but unlike an iterator the next method accepts a callback function instead of returning the next value immediately. Enumerators pass messages that wrap values so they can indicate if an error occurred or if the value is the last value in the list (done). This also allows enumerators to operate seamlessly with streams. <aside> Example of an array enumerator. ```js var values = []; var enu = Rafa.Enumerator.array([1,2,3]); enu.next(message => values.push(message)); // values: [Message(1)] enu.next(message => values.push(message)); // values: [Message(1),Message(2)] enu.next(message => values.push(message)); // values: [Message(1),Message(2),DoneMessage(3)] ``` </aside>