CNode

async.eachLimit什么时候执行结束呢

问答
IIAMABOY发布于9 年前最后回复9 年前1 回复3110 浏览0 收藏

async.eachLimit(g_strLineAry,100,funcGetOneLine, funcGotAllLines);中当funcGetOneLine出现callback()之后,则选取g_strLineAry数组中下一组100个数据执行funcGetOneLine函数,正常的话g_strLineAry里面的数据读取完毕之后,会执行funcGotAllLines,但是程序结束了funcGotAllLines还没有执行,是为什么?

// 处理一行内容的动作 function funcGetOneLine(strLine, callback) { // console.log ('forEachSeries:' + strLine); // 不处理空行 if (!strLine) { g_iNullLineCount ++; return; } g_iNotNullLineCount ++; console.log('ccccccccccccccccccccccccccccccccccccccccccccccccc:'+strLine);

setTimeout(function(){ callback(); return; },1000); }

查看回复

回复 (1)

I
IAMABOY#1·9 年前

原因找到了,是我没有处理空行, if (!strLine) { g_iNullLineCount ++; return; } 加上callback();就可以了,即 if (!strLine) { g_iNullLineCount ++; callback(); return; }

参与回复
登录后即可参与回复。登录