我不知道哪里出了问题,但是这对我来说很难实施。基本上,由于任何原因都可能发生错误,但我只想每15分钟提醒一次该消息。所以例如如果发生在上午7:02,我将显示警报。如果有错误,则在7:10 AM不会显示。但是,如果它在8:02之后显示,那么我再次显示它,则循环继续。
现在,无论我做什么,它都只会警告消息。
lastTimeErrorWasDisplayed = 0;
displayError() {
let vm : any = this;
// get the current time
const timeNow = new Date().getTime();
const hoursToWaitBeforeNextToastr = 1;
const difference = timeNow - this.lastTimeErrorWasDisplayed
var hours = (difference / (1000 * 60 * 60));
// show we show toastr now?
if (
hours > hoursToWaitBeforeNextToastr
) {
this.lastTimeErrorWasDisplayed = timeNow;
setTimeout(() => {
vm.toastr.warning(
"error",""
);
});
}
}
由于应用程序的需要,setTimeOut是必需的,但是即使没有它,它也仍然会显示错误,无论它何时发生以及何时最后一次显示。
答案 0 :(得分:0)
尝试一下:
var startTime = new Date('2019/06/30 16:00');
var timeNow = new Date();
var difference = timeNow.getTime() - startTime.getTime();
var resultInMinutes = Math.round(difference / 60000);
if (resultInMinutes >= 15) {
// your code
}
如果要每小时检查一次,还可以将if条件更改为60。