迭代器

創建一個迭代器,接收任意多個函數參數

function nextRegister() {
    var args = arguments;
    var count = -1;
    var comm = {};
    function nextTime() {
        count++;
        if (count < args.length) {
            if (args[count] && Object.prototype.toString.call(args[count]) == '[object Function]') {
                args[count](comm, nextTime);
            }
        }
    }
    nextTime();
} 

創建多個異步的函數,注入到迭代器中

/*
         comm:多個函數,公用的變量
         next:調用下一個函數
         * */
        function fn1(comm,next){
            console.log('1');
            comm.age = 20;
            next();
        }
        function fn2(comm,next){
            next();
            console.log('2');
            console.log(comm.age);
        }
        function fn3(comm,next){
            console.log('3');
        }
 
//開始執行迭代
nextRegister(fn1,fn2,fn3);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容