Я пытался наблюдать изменения в объекте карты в JavaScript, но по какой-то причине могу наблюдать только за созданием объекта. Разве наблюдаемые не работают при добавлении / удалении данных с карты?
Вот наблюдаемое:
test(): Observable<Map<string, Object>> {
return of(this.testModel.test());
}
Это я подписываюсь на него:
test(): Observable<Map<string, Object>> {
let mapOb = this.testModel.test();
return Observable.create((obsrvr) => {
const originalSet = mapOb.set;
const originalDelete = mapOb.delete;
mapOb.set = (...args) => {
obsrvr.next(originalSet.call(mapOb, ...args));
};
mapOb.delete = (...args) => {
obsrvr.next(originalDelete.call(mapOb, ...args));
}
});
}
I см. оператор log во время создания карты, но если я добавлю новые записи на карту, ничего не будет зарегистрировано. Кто-нибудь знает, почему это может происходить?
Я получаю сообщение об ошибке в maoOb.set и mapOb.delete:
Type '(key: string, value: Object) => void' is not assignable to type '(key: string, value: Object) => Map<string, Object>'.
Type 'void' is not assignable to type 'Map<string, Object>'