MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

This is an experimental technology, part of the ECMAScript 2016 (ES7) proposal.
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future version of browsers as the spec changes.

O método Array.unobserve() é usado para remover observers adicionados pelo Array.observe().
 

Sintaxe

Array.unobserve(arr, callback)

Parâmetros

arr
O array para remover os observers.
callback
A referência para o observer para parar de ser chamada a toda vez em que algo é modificado no array arr.

Descrição

Array.unobserve() deve ser chamado após o  Array.observe() a fim de remover um observers de um array.

O callback deve ser uma referencia à uma função e não a uma função anônima, porquê esta referencia será usada para remover o observer anterior. É inútil chamar o Array.unobserve() com uma função anônima como callback, não removerá nenhum observer.

Exemplos

Desobservando um array

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();
// O callback não foi chamado

Usando uma função anônima

var persons = ['Khalid', 'Ahmed', 'Mohammed'];

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

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

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

persons.push('Abdullah');
// [{type: "splice", object: <arr>, index: 2, removed: [], addedCount: 1 }]
// O callback sempre será chamado

Compatibilidade com os navegadores

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico 36 Não suportado Não suportado 23 Não suportado
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico Não suportado 36 Não suportado Não suportado 23 Não suportado

Ver também

Etiquetas do documento e colaboradores

 Colaboradores desta página: raduq
 Última atualização por: raduq,