listener = function(e) {
      try {
        if (cancelled || fn(e) === false) {
          stream.removeListener("data", listener);
          handle._resolve(false);
        }
      } catch (e) {
        handle._reject(e);
      }
    }
Handles every chunk of data in this sequence.

@param {function(string):*} fn The function to call on each chunk of data as
    it's read from the stream. Return false from the function to stop reading
    the stream.