[英]Typerror using node.js and steam-tradeoffers
我正在嘗試比較用戶庫存中的項目和貿易提供的Assetid,以便我可以找到名稱為
steam.on('webSessionID', function (sessionID) {
steam.webLogOn(function (newCookie) {
offers.setup({
sessionID: sessionID,
webCookie: newCookie
}, function (err) {
if (err) {
throw err;
}
offers.getOffers({
get_received_offers: 1,
active_only: 1,
}, function (error, body) {
if (body.response.trade_offers_received) {
body.response.trade_offers_received.forEach(function (offer) {
console.log(offer);
offer.items_to_receieve.forEach(function (offerItem) {
offers.loadPartnerInventory({
contextId: 2,
partnerSteamId: offer.steamid_other,
tradeOfferId: offer.tradeofferid,
appId: 730
}, function (err, items) {
var item;
// Load tradable items in inventory
for (var i = 0; i < items.length; i++) {
if (items[i].tradable) {
item = items[i];
//if item matches item from their inventory we can get the market name
if (item.assetid == offerItem.assetid){
console.log(item.market_name)
}
}
}
});
});
});
}
});
});
});
});
這段代碼可能真的很糟糕,但是我只是在學習node.js。 我收到此錯誤:
c:\Users\Wilson\Documents\steam\node_modules\steam-tradeoffers\examples\storehouse.js:46
offer.items_to_receieve.forEach(function (offerItem) {
^
TypeError: Cannot read property 'forEach' of undefined
at c:\Users\Wilson\Documents\steam\node_modules\steam-tradeoffers\examples\storehouse.js:46:48
at Array.forEach (native)
at c:\Users\Wilson\Documents\steam\node_modules\steam-tradeoffers\examples\storehouse.js:44:57
at Object.doAPICall.bind.callback (c:\Users\Wilson\Documents\steam\node_modules\steam-tradeoffers\index.js:281:7)
at SteamTradeOffers.<anonymous> (c:\Users\Wilson\Documents\steam\node_modules\steam-tradeoffers\index.js:253:15)
at Request.self.callback (c:\Users\Wilson\Documents\steam\node_modules\steam-tradeoffers\node_modules\request\request.js:368:22)
at Request.emit (events.js:110:17)
at Request.<anonymous> (c:\Users\Wilson\Documents\steam\node_modules\steam-tradeoffers\node_modules\request\request.js:1219:14)
at Request.emit (events.js:129:20)
at IncomingMessage.<anonymous> (c:\Users\Wilson\Documents\steam\node_modules\steam-tradeoffers\node_modules\request\request.js:1167:12)
控制台日志的輸出為:
{ tradeofferid: '429316197',
accountid_other: 174368924,
message: '',
expiration_time: 1430457935,
trade_offer_state: 2,
items_to_receive:
[ { appid: '730',
contextid: '2',
assetid: '370838639',
classid: '384801279',
instanceid: '0',
amount: '1',
missing: false } ],
is_our_offer: false,
time_created: 1429248335,
time_updated: 1429248343,
from_real_time_trade: false,
steamid_other: '76561198134634652' }
任何建議表示贊賞。 我是在正確地構建代碼,還是可惡的?
您的代碼說
offer.items_to_receieve.forEach(function (offerItem) {
^
看起來像一個額外的e
,而您的控制台輸出是
items_to_receive:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.