想要在for循环内部的函数全部运行完之后callback,除了我这种还有没有好的方法?
发布于 8小时前 作者 Pcman1056 84 次浏览 来自 问答

var getAllFollowPerson=function(followUrl,cb){ var followArray=[]; request({ url:followUrl, headers:header },function(err,res,body){ var $=cheerio.load(body); var followCount=parseInt($(“.tip2 .tc”)[0].children[0].data.match(/[0-9]+/)[0]); var pageAll=followCount/10+1; pageAll=(pageAll>20?20:pageAll);

    for(num=1,i=1;i<=pageAll;i++){
        setTimeout(function () {
                        getFollowPerson(followUrl+"?page="+(num++),followArray);
                    }, parseInt(Math.random() * 100*followCount));
    }

    setTimeout(function(){
        cb(followArray);    
    },100*followCount);
    
});

}

4 回复

好的,我用一下

eventproxy after

co框架:

co ->
  for i in [0...rltSet.length]
    eny = rltSet[i]
    yield t.initTr eny,tbody
  return
回到顶部