码迷,mamicode.com
首页 > 其他好文 > 详细

async.whilst 的一个简化版实现

时间:2016-05-13 11:21:13      阅读:147      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!