Вышла из употребления
Эта возможность вышла из употребления. Хотя она может продолжать работать в некоторых браузерах, её использование не рекомендуется, поскольку она может быть удалена в любое время. Старайтесь избегать её использования.
Метод Object.unobserve()
удаляет наблюдатель, который был добавлен с помощью Object.observe()
. Вы можете использовать Proxy
вместо данного метода.
Синтаксис
Object.unobserve(obj, callback)
Параметры
obj
- Объект, за которым необходимо прекратить наблюдение.
callback
- Ссылка на наблюдатель, который нужно остановить на
obj
.
Возаращаемое значение
Указанный объект.
Описание
Object.unobserve()
вызывается после Object.observe()
, чтобы удалить наблюдатель на объекте.
В callback
нужно передавать ссылку на функцию, которая не является анонимной. Если вызвать Object.unobserve() с анонмной функцией в callback
, то ни один наблюдатель не будет удалён.
Примеры
Удаление наблюдателя с объекта
var obj = {
foo: 0,
bar: 1
};
var observer = function(changes) {
console.log(changes);
}
Object.observe(obj, observer);
obj.newProperty = 2;
// [{name: 'newProperty', object: <obj>, type: 'add'}]
Object.unobserve(obj, observer);
obj.foo = 1;
// callback не был вызван
Вызов с анонимной функцией
var person = {
name: 'Ahmed',
age: 25
};
Object.observe(person, function(changes) {
console.log(changes);
});
person.age = 40;
// [{name: 'age', object: <obj>, oldValue: 25, type: 'update'}]
Object.unobserve(person, function(changes) {
console.log(changes);
});
person.age = 63;
// [{name: 'age', object: <obj>, oldValue: 40, type: 'update'}]
// callback был вызван
Спецификации
Browser compatibility
No compatibility data found. Please contribute data for "javascript.builtins.Object.unobserve" (depth: 1) to the MDN compatibility data repository.