如何每隔30秒永远重复这个JS功能的一部分?

时间:2016-11-22 15:33:19

标签: javascript node.js steam

好的,这就是我功能的全部来源。我想要的是“////////////”所包围的部分会重复。新功能也有效。一旦我尝试将突出显示的功能拉入一个新功能并且出现大量错误,我可以让他们两个都非常困惑。

function reWebLogOn(steam, callback) {
    steam.webLogOn(function(newCookie){
        helper.msg('webLogOn ok');
        cookies = newCookie;
        offers.setup({
            sessionID: currentSessionId,
            webCookie: newCookie
        }, function(){
            if (typeof callback == "function") {
                callback();
            }
        }); 
        var steamcommunityMobileConfirmations = new SteamcommunityMobileConfirmations(
    {
      steamid:         config.steamid,
      identity_secret: config.identitySecret,
      device_id:       device_id,
      webCookie:       newCookie,
    });


///////////////////////////////////////////////////////////////////////////////////////////////////////////


    steamcommunityMobileConfirmations.FetchConfirmations((function (err, confirmations)
{
    if (err)
    {
        console.log(err);
        return;
    }
    console.log('steamcommunityMobileConfirmations.FetchConfirmations received ' + confirmations.length + ' confirmations');
    if ( ! confirmations.length)
    {
        return;
    }
    steamcommunityMobileConfirmations.AcceptConfirmation(confirmations[0], (function (err, result)
    {
        if (err)
        {
            console.log(err);
            return;
        }
        console.log('steamcommunityMobileConfirmations.AcceptConfirmation result: ' + result);
    }).bind(this));
}).bind(this));

///////////////////////////////////////////////////////////////////////////////////////////////////////////

    });  
}

3 个答案:

答案 0 :(得分:0)

使用计时器,Interval会很方便

setInterval(function() {
    //.. part that should be repleated
}, 30*1000);

答案 1 :(得分:0)

window.setInterval()是你的朋友。 它以提供的时间间隔执行一个功能。 例如,setInterval(()=>console.log("foo"),100)将每100毫秒在控制台中记录“foo”。

function reWebLogOn(steam, callback) {
    steam.webLogOn(function(newCookie){
        helper.msg('webLogOn ok');
        cookies = newCookie;
        offers.setup({
            sessionID: currentSessionId,
            webCookie: newCookie
        }, function(){
            if (typeof callback == "function") {
                callback();
            }
        }); 
        var steamcommunityMobileConfirmations = new SteamcommunityMobileConfirmations(
    {
      steamid:         config.steamid,
      identity_secret: config.identitySecret,
      device_id:       device_id,
      webCookie:       newCookie,
    });


///////////////////////////////////////////////////////////////////////////////////////////////////////////

setInterval((function(){
  steamcommunityMobileConfirmations.FetchConfirmations((function (err, confirmations){
    if (err)
    {
        console.log(err);
        return;
    }
    console.log('steamcommunityMobileConfirmations.FetchConfirmations received ' + confirmations.length + ' confirmations');
    if ( ! confirmations.length)
    {
        return;
    }
    steamcommunityMobileConfirmations.AcceptConfirmation(confirmations[0], (function (err, result)
    {
        if (err)
        {
            console.log(err);
            return;
        }
        console.log('steamcommunityMobileConfirmations.AcceptConfirmation result: ' + result);
    }).bind(this));
  }).bind(this));
}).bind(this),30000)

答案 2 :(得分:0)

将您的代码放在setInterval(function(){},1000)计时器中或进行一些递归调用。