0
我想檢查用戶是否已經達到了一定的水平,並根據這個做路由。但是這不等待wrapasync返回。如何實現這一目標?MeteorJS包裹同步不工作鐵路由器
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');
})
服務器/ methods.js
getLevel: function (userID) {
return Meteor.users.findOne({_id: userID});
}
WrapAsync不會在客戶端上運行。您可以使用回調,承諾或反應計算,但不能使用'wrapAsync'提供的僞同步行爲。 – MasterAM
[如何在客戶端上使用Meteor.wrapAsync?](http://stackoverflow.com/questions/29478707/how-to-use-meteor-wrapasync-on-the-client) – MasterAM