我想检查是否过了2小时然后做了一些步骤。这是我到目前为止所尝试的
AssertionError
答案 0 :(得分:4)
您可以使用setTimeout
功能在2小时内完成任务。要取消超时任务,只需使用clearTimeout
即可将其停止。
var timeoutId = setTimeout( function(){
alert( '2 hours passed' );
}, 2*60*60*1000 );
// clearTimeout( timeoutId );

答案 1 :(得分:1)
我喜欢momentjs
let twoHoursLater = moment().add({hours: 2})
经过一段时间后,经过2小时后,此检查将返回
moment().isAfter(twoHoursLater)
-> true
哦,以及基于片刻here
的插件“计时器”npm install moment-timer
然后在javascript中使用duration
和timer
,就像这样
let timer = new moment.duration(2, 'hours').timer(callback);
timer.start();
function callback() {
/* magic happens */
}
另一个简单的方法是使用javascript的本机超时,在本例中,在2小时后调用回调。
setTimeout(callback, 2 * 60 * 60 * 1000)
答案 2 :(得分:0)
你的方法不明确。 @Thum Choon Tat 答案很好,如果你只是想做没有页面刷新的东西。每页刷新将计算从0秒开始的时间。如果你想检查天气2小时过去或不忽略页面刷新,您必须设置一个参考时间,您可以从中计算已经过了多少时间。您可以使用https://plugins.jquery.com/cookie/
这是Jquery Cookie来设置参考时间。然后像你一样得到当前时间。现在将当前时间与您的参考时间进行比较。