在 Typescript 中,我有一个控制器类,它有一个我想每天早上 5 点运行的方法。
我的第一个想法是使用 node-cron 或 node-scheduler 来安排一些事情,但这些似乎严格适用于节点项目,而不是打字稿。
我需要做的是 a) 将我的整个打字稿项目转换为节点,然后 b) 按计划运行该方法。
不过,似乎没有任何关于如何做到这一点的解释。我看到的解释都是关于按某个计划运行 node.js 函数,例如这个: 我需要一个 Nodejs 调度程序,它允许以不同的时间间隔执行任务
下面的代码说明了我正在尝试做的最好的近似。
控制器.ts
import SomeOtherClass from './factory';
class MyController {
    public async methodToRun(){
        console.log ("King Chronos")
    }
}
cron-job.ts
import MyController from "../src/controller";
let controller = new MyController();
var cronJob = require('cron').CronJob;
var myJob = new cronJob('00 30 11 * * 1-5', function(){
      controller.methodToRun();
      console.log("cron ran")
});
myJob.start();
我正在使用"electron": "^5.0.0"and "node-schedule": "^1.3.2"-node -schedule。我试图在启动电子应用程序时加载我的作业队列。
我的main.js电子看起来如下所示:
async function main() {
  const {
    app,
    BrowserWindow
  } = require('electron')
  const schedule = require('node-schedule');
  const {
    Schedule
  } = require('./schedule')
  let win
  let sch = new Schedule()
  try {
    await sch.initScheduledContent()
    console.log("Imported of jobs done!");
  } catch (error) {
    console.log(error);
  }
  function createWindow() {
    win = new BrowserWindow({
      width: 800,
      height: 600
    })
    win.loadFile('index.html')
    win.on('closed', () => {
      win = null
    })
  }
  app.on('ready', createWindow)
  app.on('window-all-closed', () …