我尝试在node.js项目中使用wait.for.js库,但无法从查询中获取数据库数据。
这是例子(我们在coffeescript的数据库类中):
execute: (sqlOrder) ->
resultSet = ""
this.connection.query(sqlOrder,(err,results,fields) =>
resultSet = results;
)
console.log results
但实际上这不适用于回调过程
然后我用了#34; Wait.for"并尝试按照数据库例子" https://github.com/luciotato/waitfor"但是有一个问题,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"调用方法执行(" Select * from my_table"),Class" B"用它的方法"执行(strOrder)"返回结果的数组或对象。
请有人帮我找到解决方案吗?
答案 0 :(得分:0)
我解决了这个问题,在github我跟着这个:
"你需要在光纤中才能使用wait.for。发射光纤的理想位置是当请求到达时,处理它:"
var server = http.createServer(function(req,res){ 的console.log(' REQ'!); wait.launchFiber(处理程序,REQ,RES); //处理光纤,保持节点旋转})。listen(8000);
我能够正确使用wait.for
感谢。