node流程控制之串行

  1. 流程控制
    1. 串行流程
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function process1() {
setTimeout(function() {
var process1Result = 1;
next(null, process1Result)
},10)
}
function process2(data) {
setTimeout(function() {
if (data === 1) var process2Result = 2;
next(null, process2Result)
})
}
function process3(data) {
console.log(data);
}

var taskList = [
process1,
process2,
process3
]
next(err, result) {
if (err) throw err;

var current = taskList.shift();

current && current(result);
}
next();

流程控制

  • 在node中让一组异步操作顺序执行的套路叫做流程控制,而这其中又分为串行流程和并行流程

    串行流程

    • 所谓串行流程,即一个接着一个做的流程叫做串行流程,上述代码即一个串行流程的实现。
    • 首先有三个操作,顺序依次为process1,process2,process3,
    • 整个过程的核心是这个next函数,跟node一些框架中交出控制权的next名字是一样的
    • 思路就是按照索引的顺序执行函数,函数中异步调用的返回值,作为下一个next中执行的函数的参数,保证了数据不会丢失。

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com

×

喜欢就点赞,疼爱就打赏