Advertisement
Guest User

Untitled

a guest
Nov 27th, 2015
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.42 KB | None | 0 0
  1. "use strict";
  2.  
  3. // utility for Promise: loop until rejected
  4. const loop = (g) => new Promise((f, r) => g().then(v => loop(g)).catch(f));
  5.  
  6. // example
  7. const file = ["foo", "bar", "buzz"];
  8.  
  9. const open = (file) => Promise.resolve(file[Symbol.iterator]());
  10. const read = (fd) => {
  11. var n = fd.next();
  12. return n.done ? Promise.reject() : Promise.resolve(n.value);
  13. }
  14. open(file).then(fd => loop(() => read(fd).then(console.log)));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement