0.3.0 • Published 6 years ago

collie v0.3.0

Weekly downloads
8
License
MIT
Repository
github
Last release
6 years ago

collie

async hook

Example

const collie = require('collie');

let obj = {
  preAdd: function (m, n) {
    console.log('preAdd', m, n);
    return [m + 1, n + 1];
  },
  add: function (m, n) {
    console.log('add', m, n);
    return m + n;
  },
  postAdd: function (res) {
    console.log('postAdd', res);
  }
};

collie(obj, 'add');

obj.pre('add', function (m, n) {
  console.log('pre add', m, n);
});

obj.pre('add', function (m, n) {
  console.log('other pre add', m, n);
  return new Promise(function (resolve, reject) {
    setTimeout(function () {
      resolve([m + 1, n + 1]);
    }, 1000);
  });
});

obj.post('add', function (res) {
  console.log('post add', res);
});

obj.add(1, 2).then(function (res) {
  console.log('done', res);
}, function (err) {
  console.log('error:', err);
});

//pre add 1 2

//other pre add 1 2

//preAdd 2 3

//add 3 4

//postAdd 7

//post add 7

//done 7

Contribute

Maichong Software

Liang Xingchen

License

This project is licensed under the terms of the MIT license