Obsolète
Cette fonctionnalité est obsolète. Bien qu'encore supportée par des navigateurs, son utilisation est découragée pour tout nouveau projet. Évitez de l'utiliser.
La méthode Object.unobserve()
est utilisée pour retirer des observateurs placés avec Object.observe()
. Cette méthode et l'API à laquelle elle appartient ont été dépréciées et retirées des navigateurs. À la place, il est préférable d'utiliser l'objet Proxy
.
Syntaxe
Object.unobserve(obj, callback)
Paramètres
obj
- L'objet qu'on souhaite arrêter d'observer.
callback
- La référence vers l'observateur qu'on souhaite arrêter d'appeler à chaque fois qu'une modification est apportée à
obj
.
Valeur de retour
L'objet qui n'est plus observé.
Description
Object.unobserve()
doit être appelé après Object.observe()
afin de retirer un observateur d'un objet.
La fonction de rappel (callback) doit être une référence à la fonction et non une fonction anonyme. En effet, c'est cette référence qui sera utilisée pour retirer l'observateur précédemment placé. Appeler Object.unobserve() avec une fonction anonyme n'aura aucun effet, cela ne retirera aucun observateur.
Exemples
Arrêter l'observation un objet
var obj = { toto: 0, truc: 1 }; var observer = function(changements) { console.log(changements); } Object.observe(obj, observer); obj.nouvelleProp = 2; // [{name: 'nouvelleProp', object: <obj>, type: 'add'}] Object.unobserve(obj, observer); obj.toto = 1; // La fonction callback n'a pas été appelée
Utiliser une fonction anonyme
var personne = { name : 'Ahmed', age : 25 }; Object.observe(personne, function (changements) { console.log(changements); }); personne.age = 40; // [{name: 'age', object: <obj>, oldValue: 25, type: 'update'}] Object.unobserve(personne, function (changements) { console.log(changements); }); personne.age = 63; // [{name: 'age', object: <obj>, oldValue: 40, type: 'update'}] // La fonction callback est toujours appelée
Specifications
Proposition de spécification (strawman proposal).
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | 36 | Pas de support | Pas de support | 23 | Pas de support |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | Pas de support | 36 | Pas de support | Pas de support | 23 | Pas de support |