Array.unobserve()

Obsolete
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

Метод Array.unobserve() використовувався для видалення спостерігачів, встановлених методом Array.observe(), але він застарів та був прибраний з переглядачів. Ви можете натомість скористатись більш загальним об'єктом Proxy.

Синтаксис

Array.unobserve(arr, callback)

Параметри

arr
Масив, де треба припинити спостереження.
callback
Посилання на спостерігач, який треба припинити викликати кожен раз, коли у масиві arr відбувається зміна.

Опис

Метод Array.unobserve() має викликатися після Array.observe(), щоб прибрати спостерігач з масиву.

Параметр callback має бути посиланням на функцію, а не анонімною функцією, бо це посилання буде використано, щоб прибрати попередній спостерігач. Немає сенсу викликати Array.unobserve() з анонімною функцією зворотного виклику, вона не прибере жоден спостерігач.

Приклади

Припинення спостереження за масивом

var arr = [1, 2, 3];

var observer = function(changes) {
  console.log(changes);
}

Array.observe(arr, observer);
​
arr.push(4);
// [{type: "splice", object: <arr>, index: 3, removed:[], addedCount: 1}]

Array.unobserve(arr, observer);

arr.pop();
// Функція зворотного виклику не викликалась

Використання анонімної функції

var persons = ['Халід', 'Ахмед', 'Мухаммед'];

Array.observe(persons, function (changes) {
  console.log(changes);
});

persons.shift(); 
// [{type: "splice", object: <arr>, index: 0, removed: [ "Халід" ], addedCount: 0 }]

Array.unobserve(persons, function (changes) {
  console.log(changes);
});

persons.push('Абдулла');
// [{type: "splice", object: <arr>, index: 2, removed: [], addedCount: 1 }]
// Функція зворотного виклику викликатиметься завжди

Сумісність з веб-переглядачами

No compatibility data found. Please contribute data for "javascript.builtins.Array.unobserve" (depth: 1) to the MDN compatibility data repository.

Див. також