Javascript 节点光纤/未来回调

Javascript 节点光纤/未来回调,javascript,node.js,coffeescript,wait,node-fibers,Javascript,Node.js,Coffeescript,Wait,Node Fibers,我尝试在node.js项目中使用wait.for.js库,但未能从查询中获取数据库数据 下面是一个示例(我们在coffeescript中的一个数据库类中): 但事实上,这不适用于回调过程 然后我使用了“Wait.for”,并尝试按照数据库示例“”进行操作,但有一个问题,Wait.launchFiber()在哪里;线路 所以我试着。。。但不起作用 query2 : ( sql, callback ) => wait.for(@connection.query(sql,(err

我尝试在node.js项目中使用wait.for.js库,但未能从查询中获取数据库数据

下面是一个示例(我们在coffeescript中的一个数据库类中):

但事实上,这不适用于回调过程

然后我使用了“Wait.for”,并尝试按照数据库示例“”进行操作,但有一个问题,Wait.launchFiber()在哪里;线路

所以我试着。。。但不起作用

query2 : ( sql, callback ) =>
        wait.for(@connection.query(sql,(err, result, field)->
            data = {results:result, fields:field}
            callback(err,data)
        ))


    back : (err,data) ->
        @result = data
        console.log("I'm in back")

    prepare: (strOrder) =>
        wait.launchFiber(@query2,strOrder,@back);
        console.log(@result)
问题是,有一个类“a”的实例调用方法execute(“从my_表中选择*”),而类“B”及其方法“execute(strOrder)”返回结果的数组或对象


请,任何人都可以帮我找到解决方案吗?

我解决了这个问题,在github中,我遵循了以下步骤:

您需要在光纤中才能使用wait.for。启动光纤的理想位置是在请求到达时处理它:

var server=http.createServer(函数(req,res){ console.log('req!'); wait.launchFiber(handler,req,res);//在光纤中处理,保持节点旋转})

我可以正确地使用wait.for


谢谢。

您还需要帮助吗?请参阅:
query2 : ( sql, callback ) =>
        wait.for(@connection.query(sql,(err, result, field)->
            data = {results:result, fields:field}
            callback(err,data)
        ))


    back : (err,data) ->
        @result = data
        console.log("I'm in back")

    prepare: (strOrder) =>
        wait.launchFiber(@query2,strOrder,@back);
        console.log(@result)