【发布时间】:2017-10-21 21:06:31
【问题描述】:
我本来打算使用backpacktf模块,但它不想工作,只是给了我一个json错误,所以我继续使用这个模块:
https://github.com/KenanY/backpack.tf
但我这样做了,我得到了这个错误
C:\Users\datpe\Desktop\d\bot.js:94 他们的价值 += 数据[项目]. 价值; ^
TypeError:无法读取 null 的属性“Rainy Day Cosmetic Case” 在 C:\Users\datpe\Desktop\d\bot.js:94:24 在 BufferList._callback (C:\Users\datpe\node_modules\jsonist\jsonist.js:12:14) 在 BufferList.end (C:\Users\datpe\node_modules\bl\bl.js:75:10) 在 Stream.onend (internal/streams/legacy.js:44:10) 在 emitNone (events.js:110:20) 在 Stream.emit (events.js:207:7) 在排水管 (C:\Users\datpe\node_modules\through\index.js:33:23) 在 Stream.stream.queue.stream.push (C:\Users\datpe\node_modules\through\index.js:41:5) 在传入消息。 (C:\Users\datpe\node_modules\hyperquest\index.js:60:48) 在 emitNone (events.js:110:20)
我猜是因为我试图获取无效或不存在的信息?
这是我使用的代码:
function processOffer(offer){
if (offer.isGlitched() || offer.state === 11) {
console.log('Offer was glitched, declining.');
declineOffer(offer);
//} else if(offer.partner.getSteamID64() == config.ownerID) {
// acceptOffer(offer);
} else {
var ourItems = offer.itemsToGive;
var theirItems= offer.itemsToReceive;
var ourValue = 0;
var theirValue = 0;
for(var i in ourItems) {
var item = ourItems[i].market_name;
b.getPrices(function(error, data) {
if(error){
throw error;
}else {
ourValue += data[item].value;
}
});
}
for(var i in theirItems){
var item = theirItems[i].market_name;
b.getPrices(function(error, data) {
if(error){
throw error;
}else {
theirValue += data[item].value;
}
});
}
}
console.log('Our Value: ' + ourValue);
console.log('Their Value: ' + theirValue);
if (ourValue <= theirValue){
acceptOffer(offer);
} else {
declineOffer(offer);
}
}
【问题讨论】:
标签: javascript node.js steam