callback && callback(new Date().valueOf() - startTime.valueOf());  应该是返回执行时间的代码

解决方案 »

  1.   

    callback : function(startTime, callback)
            {
                callback && callback(new Date().valueOf() - startTime.valueOf());  //
                 这个地方调用callback方法第二个参数callback没有给数植,
    那下次调用callback 就是 undefined 了,短路了下次就不会执行callback 方法了,也就不递归了
                 
                this.lock = false, this.read();     
            },明白不?
      

  2.   

    大概明白了,但是不是指递归吧
    这中写法就是看第2个参数是否给出
    给出了就执行第2个参数如 
    var a=2
    0&&(a=3)
    这时  a=2var a=2
    1&&(a=3)
    这时 a=3