I want to check whether user has achieved some level and do the routing according to that. But this does not wait for the wrapasync return. How to achieve this?
Router.js
var getLevelAsync = function (userID, callback) {
Meteor.call('getLevel', Meteor.userId(), function (err, data) {
callback(null, data['level']);
})
}
var getLevel = Meteor.wrapAsync(getLevelAsync);
Router.route('/verifyData', function(){
var level = getLevel(Meteor.userId());
if(level < 3) this.render('somepage');
else this.render('another page');
})
server/methods.js
getLevel: function (userID) {
return Meteor.users.findOne({_id: userID});
}