异步编程 互动版

whilst(test, fn, callback)


相当于while,但其中的异步调用将在完成后才会进行下一次循环。当你需要循环异步的操作的时候,它可以帮助你。示例如下:

var count = 0;
async.whilst(
    function () { return count < 5; },
    function (callback) {
        count++;
        setTimeout(callback, 1000);
    },
    function (err) {

    }
);

test参数是一个返回布尔值结果的函数,通过返回值来决定循环是否继续,作用等同于while循环停止的条件。

fn参数就是我们要异步执行的作业,每次fn执行完毕后才会进入下一次循环。

var list = [{name:'Jack',age:20},{name:'Lucy',age:18}];
使用whilst,将list中所有人的age都加1。