首页 > 其他 > 详细

async.whilst 的一个简化版实现

时间:2016-05-13 11:18:48      阅读:111      评论:0      收藏:0      [点我收藏+]
function whilst(condition, todo, fin){
    var cb = function(){
        if(condition()){
            todo(cb);
        }else{
            fin();
        }
    }
    cb();
}

这里之所以要用递归,而不用简单的循环就是为了 让 cb 起到一个作用:

    指示本次任务完成,进行下一次任务,如果用简单的循环,那么指示每次任务完成的标志就是 循环一次,这样就无法检测异步操作是否真正完成了。

所以把cb用在异步的代码里,可以做到指示本次异步操作完成,赶紧进行下一个任务吧。这个意思。

async.whilst 的一个简化版实现

原文:http://www.cnblogs.com/onebook/p/5486322.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!