Чистым решением этой проблемы было бы сделать это.
Внутри вашего сервиса.
// First, declare an interface like so.
interface ReactiveDate {
date: Date,
type: String
}
// Instantiate the Subject using this interface as the generic type.
obs: Subject<ReactiveDate> = new Subject<ReactiveDate>();
Внутри вашего класса.
// From Class 1.
svc.obs.next({ date: new Date(), type: 'Class 1' });
// From Class 2.
svc.obs.next({ date: new Date(), type: 'Class 2' });
Затем сновавнутри вашего сервиса.
// Apply correct logic on "type" inside the subscribe callback.
obs.subscribe(({ date, type }) => {
console.log("Triggered from: " + type);
});
Таким образом, «тип» по вашему выбору и будет очень надежным и безошибочным, так как вы всегда будете знать значения заранее.Вы не будете взламывать свой путь.