lightco
最近在玩node,发现回调嵌套写起来不怎么美观,自己用es6的generator 写了个小东西来解决他。 代码就几行, 利用了函数提升特性:
lightco.wrap = function(gen) {
var idt = gen(cbchain)
function cbchain() {
idt.next(arguments)
}
return cbchain
}
实际使用的用法是这样的,利用的es6的数组解构特性:
var fs = require('fs')
var request = require('request')
var lightco = require('lightco')
lightco.run(function* ($) {
var [error, data] = yield fs.readFile('index.js', 'utf8', $)
if (error)
throw error
console.log(data)
var [error, response, body] = yield request('http://www.baidu.com', $)
if (error)
throw error
console.log(error, response.statusCode)
})
但是由于是新接触js,不知道函数提升有什么副作用,及这样写法有什么问题,请大伙指教。 https://www.npmjs.com/package/lightco