Nodejs异步回调的优雅处理方法_node.js(2)
var fs = require('fs')
, co = require('co')
, thunkify = require('thunkify');
var readFile = thunkify(fs.readFile);
co(function *() {
var test1 = yield readFile('test1.txt');
var test2 = yield readFile('test2.txt');
var test = test1.toString() + test2.toString();
console.log(test);
})();
处理代码中的异常也是很简单的,只需要这样就OK了:
try {
var test1 = yield readFile('test1.txt');
} catch (e) {
// 在这里处理异常
}
这种代码是不是优雅很多了?像写同步代码一样处理异步,是不是很爽!
nodejs领域中进行Web开发,最火的框架莫过于express了,值得一提的是express的核心成员TJ大神有领导了一个新的Web框架——koa,宣称是下一代的Web开发框架,koa真是借助了ES6的generator这一特性,让我们在开发Web系统的时候避免陷入层层的回调用。
总结
引用一下fibjs项目宣传的一句话:Less Callback, More Girls - 更少回调, 更多妹子