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

next() 伪函数

时间:2017-07-06 22:51:03      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:异步任务   adf   str   技术   color   png   html   htm   highlight   

串行,第一个完成后,去执行第二个第二个异步任务,使用next()尾函数。首先我么想完成三个任务,task1,task2,task3,如图:

技术分享

实现方式1:

var fs = require("fs");
function task1(){
    fs.readFile(‘./a.txt‘,function(err,data){
        console.log(data.toString());
        task2();
    })
}

function task2(){
    fs.readFile(‘./b.txt‘,function(err,data){
        console.log(data.toString());
        task3();
    })
}

function task3(){
    fs.readFile(‘./b.txt‘,function(err,data){
        console.log(data.toString());
    })
}
task1();

实现方式2:使用task函数

var fs = require("fs");
function task1(){
    fs.readFile(‘./a.txt‘,function(err,data){
        console.log("a---"+data.toString());
        next();
    })
}

function task2(){
    fs.readFile(‘./b.txt‘,function(err,data){
        console.log("b---"+data.toString());
        next();
    })
}

function task3(){
    fs.readFile(‘./b.txt‘,function(err,data){
        console.log("c---"+data.toString());
    })
}
//串行可以在任务1中调用任务2 ,任务2调用任务3
//第二种方式:
var taskArray = [task1,task2,task3];
function next(){
    //数组中shift方法,删除第一个元素
   var task = taskArray.shift();
   console.log(task)
   task();
}

next();

或者:

var fs = require("fs");
function task1(next){
    fs.readFile(‘./a.txt‘,function(err,data){
        console.log("a---"+data.toString());
        next();
    })
}

function task2(next){
    fs.readFile(‘./b.txt‘,function(err,data){
        console.log("b---"+data.toString());
        next();
    })
}

function task3(next){
    fs.readFile(‘./b.txt‘,function(err,data){
        console.log("c---"+data.toString());
    })
}
//串行可以在任务1中调用任务2 ,任务2调用任务3
//第二种方式:
var taskArray = [task1,task2,task3];
(function(){
    
    function next(){
    //数组中shift方法,删除第一个元素
   var task = taskArray.shift();
   console.log(task)
   task(next);
    }
    next();
})()

 

next() 伪函数

标签:异步任务   adf   str   技术   color   png   html   htm   highlight   

原文地址:http://www.cnblogs.com/yeziTesting/p/7128525.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!