lightco
发布于 15 小时前 作者 bulebyte 68 次浏览 来自 问答

最近在玩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

回到顶部