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 |