我正在使用MySQL支持的服务编写与我们网站的集成。我在异步函数方面遇到了一些问题,但我最终设法解决了这些问题。最后我想在游戏尚未完成用户时抛出错误。
//server method
getGameScore(variable) {
connection.query(sql, Meteor.bindEnvironment((err, rows) => {
if (err) throw err;
if (parseInt(rows[0].status, 10) === 13) {
// a whole lot of code wchich works just fine
} else {
throw new Meteor.Error('The match has not finished yet');
}
}));
},
'ebot.getGameScore'(variable) {
check(variable, String);
return Meteor.server.ebot.getScore(variable);
},
我的客户端代码。错误显示在我的服务器控制台中,但是当控制台记录我的错误或结果都未定义时。我认为它与代码的异步执行有关。
getMySQLScore() {
Meteor.call('ebot.getGameScore', this.props.match._id, (err, result) => {
if (err) {
toastr.error(err.message);
}
});
},
任何有想法如何解决问题的人?