我正在尝试使用Meteor.wrapAsync
这是我的代码:
data1 = function(){
connection.query('SELECT * FROM players', function(err, rows, fields){
if (err) throw err;
console.log(rows);
return rows;
});
};
var returndata = Meteor.wrapAsync(data1);
console.log(returndata);
我使用console.log获得的输出是[Function]
任何人都可以检查并更正此代码。
BTW:我已经在Meteor中使用Node fiber / future进行了另一个解决方案,但是我想知道使用Meteor.wrapAsync做一些正确的方法答案 0 :(得分:0)
Meteor.wrapAsync
强制在正常同步函数中返回回调,为了实现它,您需要执行以下操作:
var asyncFunction = Meteor.wrapAsync(connection.query, connection);
var result = asyncFunction('SELECT * FROM players');
//operations on result
没有测试过这个功能,但我希望你明白这个想法,它会帮助你开始