javascript - Removing debounced callback -
i have following code inside of react store:
addchangelistener(cb) { this.on(change_event, _.debounce(cb, 100)); } removechangelistener(cb) { _.debounce(cb).cancel(); this.removelistener(change_event, cb); } i don't believe removechangelistener removing cb because of _.debounce function. how can use _.debounce, , ensure proper cb removed?
you correct. _.debounce creates new function. need like:
var debouncedcb; addchangelistener(cb) { debouncedcb = _.debounce(cb, 100) this.on(change_event, debouncedcb); } removechangelistener(cb) { this.removelistener(change_event, debouncedcb); _.debounce(cb).cancel(); } depending on you're specifics, you'll want attach debouncedcb cb somehow, removechangelistener doesn't confused.
Comments
Post a Comment