title: MeteorJS wrapasync not working inside iron router
body: <p>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?</p>
  
  <p>Router.js</p>
  
  <pre><code>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 &lt; 3) this.render('somepage');
      else this.render('another page');
  
  })
  </code></pre>
  
  <p>server/methods.js</p>
  
  <pre><code>getLevel: function (userID) {
          return Meteor.users.findOne({_id: userID});
      }
  </code></pre>