簡體   English   中英

使用node.js和Steam-tradeoffers的Typerror

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM