add_do.js 457 B

12345678910111213141516171819202122232425
  1. var Chainsaw = require('chainsaw');
  2. function AddDo (sum) {
  3. return Chainsaw(function (saw) {
  4. this.add = function (n) {
  5. sum += n;
  6. saw.next();
  7. };
  8. this.do = function (cb) {
  9. saw.nest(cb, sum);
  10. };
  11. });
  12. }
  13. AddDo(0)
  14. .add(5)
  15. .add(10)
  16. .do(function (sum) {
  17. if (sum > 12) this.add(-10);
  18. })
  19. .do(function (sum) {
  20. console.log('Sum: ' + sum);
  21. })
  22. ;