2015-04-22 50 views
-1

所以我有這個代碼,我在谷歌Chrome控制檯裏面運行,每當我嘗試運行它時,它都會給我意想不到的標識符:12.我去了那條線,它是setTimeout。我真的不知道如何解決這個問題,我試着只是調用snipebot(),但那也不起作用。setTimeout給出意外的標識符?

function snipebot(itemID, max_price){ 
    var ItemURL = "http://www.roblox.com/Item.aspx?id=" + itemID; 
      $.get(ItemURL, function(data){ 
       var purchaseData = $($(data).find(".PurchaseButton")[0]).data(); 
         if (purchaseData['expectedPrice'] <= max_price){ 
          $.post('/API/Item.ashx?rqtype=purchase&productID=' + purchaseData['productId'] + '&expectedCurrency=1&expectedPrice=' + purchaseData['expectedPrice'] + '&expectedSellerId=' + purchaseData['expectedSellerId'] + '&userAssetID=' + purchaseData['userassetId'], function(){ 
          console.log('[' + purchaseData['expectedPrice'] + ']'); 
          }); 
         } 
      } 
      setTimeout(function(){ 
      snipebot(itemID, max_price); 
      }); 
}; 
snipebot(18426536, 140); 
+1

看起來你忘記爲你的setTimeout添加時間間隔。 –

回答

3

這是出乎意料的,因爲你要$.get調用沒有被正確的前行關閉:

function snipebot(itemID, max_price){ 
    var ItemURL = "http://www.roblox.com/Item.aspx?id=" + itemID; 
      $.get(ItemURL, function(data){ 
       var purchaseData = $($(data).find(".PurchaseButton")[0]).data(); 
         if (purchaseData['expectedPrice'] <= max_price){ 
          $.post('/API/Item.ashx?rqtype=purchase&productID=' + purchaseData['productId'] + '&expectedCurrency=1&expectedPrice=' + purchaseData['expectedPrice'] + '&expectedSellerId=' + purchaseData['expectedSellerId'] + '&userAssetID=' + purchaseData['userassetId'], function(){ 
          console.log('[' + purchaseData['expectedPrice'] + ']'); 
          }); 
         } 
      }); // <-- here 
      setTimeout(function(){ 
      snipebot(itemID, max_price); 
      }, 2000); // <!-- See below 
}; 
snipebot(18426536, 140); 

還要注意我的第二個意見,你已經錯過了第二個參數setTimeout,即要拖延多久。作爲一個例子,我延遲了兩秒鐘。沒有這個,它默認爲0,這可能是也可能不是你想要的。

+0

巫術..謝謝我一直在學習JavaScript。 –