官方api的例子写的太简洁varsaves=['profile','settings'];vardone=_.after(saves.length,function(){console.log('donesaving!');});_.forEach(saves,function(type){asyncSave({'type':type,'complete':done});});不是很懂....求大神解释下###题目描述
2 回答
叮当猫咪
TA贡献1776条经验 获得超12个赞
首先看API,大概理解是返回一个函数,等待执行n次后,执行funcn:Thenumberofcallsbeforefuncisinvoked.Returns(Function):Returnsthenewrestrictedfunction.再看源码,就理解了,其实就是一个闭包,控制nfunctionafter(n,func){if(typeoffunc!='function'){thrownewTypeError(FUNC_ERROR_TEXT);}n=toInteger(n);returnfunction(){if(--n<1){returnfunc.apply(this,arguments);}};}
缥缈止盈
TA贡献2041条经验 获得超4个赞
vardone=_.after(n,func)thismethodcreatesafunctionthatinvokesfunconceit'scallednormoretimes.意思是说done这个函数被调用n次或n次以上时,执行func函数。
添加回答
举报
0/150
提交
取消