NodeJS本身一个重要的特性就是异步处理,但异步处理多了,会把一个完整的“业务”逻辑拆分的支离破碎,让人看到头大,或许这就是所谓的异步陷阱?!最近看NodeJS项目代码时,发现了一个Step的模块,就是专门将一系列执行有先后关系的异步调用做序列化调用处理的,使之在代码层面上尽量看起来更清晰。Step详情可参见
https://github.com/creationix/step
[https://github.com/creationix/step%22target=%22_blank]
1. 简单的将异步处理顺序化
step本身定义了一个 Step 的方法, Step可以接收任意多的方法,并按顺序执行这些方法,其中this代表下一个方法的回调。
var fs = require('fs');
var Step = require('step');
Step( function readSelf() {
fs.readFile(__filename, 'utf-8', this); },
function