【发布时间】:2016-01-02 23:19:58
【问题描述】:
我正在尝试使用 Steam 社区 (steamcommunity) npm 包和 meteorhacks:npm Meteor 包来检索用户的库存。我的代码如下:
lib/methods.js:
Meteor.methods({
getSteamInventory: function(steamId) {
// Check arguments for validity
check(steamId, String);
// Require Steam Community module
var SteamCommunity = Meteor.npmRequire('steamcommunity');
var community = new SteamCommunity();
// Get the inventory (730 = CSGO App ID, 2 = Valve Inventory Context)
var inventory = Async.runSync(function(done) {
community.getUserInventory(steamId, 730, 2, true, function(error, inventory, currency) {
done(error, inventory);
});
});
if (inventory.error) {
throw new Meteor.Error('steam-error', inventory.error);
} else {
return inventory.results;
}
}
});
client/views/inventory.js:
Template.Trade.helpers({
inventory: function() {
if (Meteor.user() && !Meteor.loggingIn()) {
var inventory;
Meteor.call('getSteamInventory', Meteor.user().services.steam.id, function(error, result) {
if (!error) {
inventory = result;
}
});
return inventory;
}
}
});
当尝试访问调用结果时,客户端或控制台上没有显示任何内容。
我可以在community.getUserInventory函数的回调中添加console.log(inventory)并在服务器上接收结果。
相关文档:
【问题讨论】:
标签: javascript node.js meteor steam