У меня есть проект в машинописном тексте, который выполняет какую-то работу.
export class Job {
public jobState: 'Active' | 'Completed' | 'Paused' | 'Cancelled';
public jobId: string;
}
У меня есть объект карты, представляющий собой список активных работ,
private static jobStreams: Map<string, Job> = new Map();
В моем коде янеобходимо информировать об изменении состояния задания, например, когда пользователь выбирает «Приостановить» задание,
для соответствующего состояния объекта карты устанавливается значение «Приостановлено», например:
jobStreams.set(job.jobId).jobState = 'Paused';
Я хочу знать, как вызвать событие при изменении состояния задания?
Я буду выполнять некоторые действия в задании, и когда задание будет приостановлено, я смогу получить событиеэто намекает мне на изменение состояния задания, так что я могу остановить всю обработку.
Есть ли какой-нибудь механизм обработки событий, доступный в Typescript и nodejs, который я могу использовать для моего варианта использования?
Сейчас я использую механизм опроса, использующий setTimeout для проверки изменения состояния задания, что не идеально.