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

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

css - Make div keyboard-scrollable in jQuery Mobile? -

ruby on rails - Seeing duplicate requests handled with Unicorn -