我实际上在流星中构建一个简单的应用程序,拿着武器的皮肤认为我的蒸汽库存,解析武器的市场哈希名称,最后返回中位数价格根据蒸汽市场的皮肤。我的问题是关于存储皮肤的价格,我使用我已经包含在Meteor中的this npm包(我遵循异步方式),我可以很容易地得到皮肤的价格。我把这段代码放在服务器端的Meteor方法中,如下所示:
Meteor.methods({
getPrice:function(weapon,skin,state,loteryRef)
{
var csgomarket = Meteor.npmRequire('csgo-market');
var Q = Meteor.npmRequire('q');
var wears = [state];
var data = {
prices : [{
weapon : weapon,
cached : false,
skins : [skin],
skinData : {},
price : '',
}]
}
var getPrice = function(theData) {
var promises = [];
theData.skins.forEach(function(skin) {
theData.skinData[skin] = {};
wears.forEach(function(wear) {
promises.push(csgomarket.getSinglePriceAsync(theData.weapon, skin, wear, false).then(function(data) {
theData.price = data.median_price;
}));
});
});
return Q.allSettled(promises).then(function() {
return theData;
});
}
getPrice(data.prices[0]).then(function(results) {
console.log(results.price);
});
}
});
承诺函数getPrice(data.prices[0]).then(function(results) {});
的结果只能是console.logged,我无法在此函数之外保存结果。当我尝试在此函数中执行插入以保存此值时,它也不起作用。我做错了什么?
请原谅我英语非常好