如何使用setInterval或setTimeout

问题描述

我是javascript / Nodejs的新手, 我想在javascript中创建证书监视器/监视程序。 我在这里写了代码

  1. 我使用setInterval每5秒读取一次证书文件。 [要读取证书信息,我使用了certpem程序包nodejs]
  2. 我在monitorCertificateExpiry中检查条件是否已过期
  3. 并将数据传递给renewCertificate()。
  4. 当我获得“过期”数据时,我将创建新的证书文件。 这里发生的是间隔连续运行并且正在生成许多文件

我想停止间隔并仅生成一个文件,然后间隔/观察者应再次启动 如何实现这一目标。 请帮忙。

let monitorCertificateExpiry = () => {
let Now = new Date();
let readData = fs.readFileSync('client.pem','ascii');
let certData = certpem.info(readData);
let data = (certData.issuedAt < Now.getTime() && Now.getTime() < certData.expiresAt) ? "Valid" : "Expired";
 renewCertificate(data);
}
    
let clearIntrvl= setInterval(monitorCertificateExpiry,5000);
    
     let renewCertificate = (data) => {
        if (data === "Valid") {
            console.log(data)
        }
        else if (data === "Expired") {
            clearInterval(clearIntrvl);
            issueCertificate();
            console.log("New Certificate Issued");
        }
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)