so I have the following code.
setInterval(function(){
steamOfferObj.getOffer({
"tradeOfferId": tradeOfferID["tradeofferid"] // The tradeoffer id
}, function(error, body) {
if (error == null) {
console.log(body);
if (body.response.offer.trade_offer_state == 3) {
return "Offer Accepted"
} else {
//on not accepted
}
}
});
}, 5000);
basically it poles a steam trade offer to see if it has completed or not. However, this actually runs indefinitely, checking every 5 seconds until the program is time. What I was is for it to check every 5 seconds, for 5 minutes, after which it times out.
Any way I could go about doing that?
You can use setTimeout
. For e.g
var yourIntervalId = setInterval(function(){
steamOfferObj.getOffer({
"tradeOfferId": tradeOfferID["tradeofferid"] // The tradeoffer id
}, function(error, body) {
if (error == null) {
console.log(body);
if (body.response.offer.trade_offer_state == 3) {
return "Offer Accepted"
} else {
//on not accepted
}
}
});
}, 5000);
And here you clear the interval after 5 minutes (30000 ms)
setTimeout(function(){
clearInterval(yourIntervalId);
}, 30000);