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