debounce.js

防抖函数的简单实现以及测试

debounce.js

require("@fatso83/mini-mocha").install();
const sinon = require("sinon");;
const expect = require('chai').expect;
const assert = require('chai').assert
const debounce = (() => {
  let timer = null
  return (callback, wait = 800) => {
    timer&&clearTimeout(timer)
    timer = setTimeout(callback, wait)
  }
})();

describe('debounce test',()=>{
  it('debounce is a function',()=>{
    assert(debounce,'function');
  });
  it('debounce accept a fn',(done)=>{
    var callback = sinon.fake();
    debounce(callback,500);
    done();
    sinon.assert.calledOnce(callback);
  });
  it('debounce accept a fn and default time',(done)=>{
    var callback = sinon.fake();
    debounce(callback);
    done();
    sinon.assert.calledOnce(callback);
  });
  
});

版权声明:著作权归作者所有。

thumb_up 0 | star_outline 0 | textsms 0