首页 > 代码库 > next() 伪函数
next() 伪函数
串行,第一个完成后,去执行第二个第二个异步任务,使用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() 伪函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。