从时间戳开始经过的Javascript时间

Par*_*ter 4 javascript time if-statement

我试图通过将其存储在变量中来"缓存"某些信息.
如果2分钟过去了,我想获得"实时"值(调用url).如果2分钟没有通过,我想从变量中获取数据.

我基本上想要的是:

if(time passed is less than 2 minutes) {
    get from variable
} else {
    get from url
    set the time (for checking if 2 minutes have passed)
}
Run Code Online (Sandbox Code Playgroud)

我试过用类似的东西来计算时间

if((currentime + 2) < futuretime)
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用.有人知道如何正确检查自上次执行代码以来是否已经过了2分钟?

TL; DR:想要检查IF语句是否已经过了2分钟.

Pan*_*erA 6

将您的算法转换为工作javascript,您可以执行以下操作:

var lastTime = 0;

if ( Math.floor((new Date() - lastTime)/60000) < 2 ) {
    // get from variable
} else {
    // get from url
    lastTime =  new Date();
}
Run Code Online (Sandbox Code Playgroud)

您可以将if块放在一个函数中,并在想要从变量或url获取信息时随时调用它:

var lastTime = 0;

function getInfo() {
    if ( Math.floor((new Date() - lastTime)/60000) < 2 ) {
            // get from variable
    } else {
        // get from url
        lastTime =  new Date();
    }
}
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.