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 Array.unobserve()
est utilisée pour retirer les observateurs placés grâce à Array.observe()
. Cette API a été dépréciée et retirée des navigateurs. À la place, il est préférable d'utiliser l'objet Proxy
, plus générique.
Syntaxe
Array.unobserve(arr, callback)
Paramètres
arr
- Le tableau qu'on souhaite arrêter d'observer.
callback
- La référence à l'observateur dont on souhaite qu'il arrête d'être appelé à chaque changement apporté au tableau arr.
Description
Array.unobserve()
doit être appelé après Array.observe()
afin de retirer un observateur du tableau.
La fonction de rappel (callback) utilisée doit être une référence à une fonction et non une fonction anonyme car c'est cette référence qui sera utilisée pour retrouver l'observateur. Ça ne sert à rien d'appeler Array.unobserve() avec une fonction anonyme comme paramètre de callback, cela ne retirera aucun observateur.
Exemples
Arrêter d'observer un tableau
var arr = [1, 2, 3]; var observateur = function(changements) { console.log(changements); } Array.observe(arr, observateur); arr.push(4); // [{type: "splice", object: <arr>, index: 3, removed:[], addedCount: 1}] Array.unobserve(arr, observateur); arr.pop(); // Le callback n'a pas été appelé
Utiliser une fonction anonyme
var personnes = ['Khalid', 'Ahmed', 'Mohammed']; Array.observe(personnes, function (changements) { console.log(changements); }); personnes.shift(); // [{type: "splice", object: <arr>, index: 0, removed: [ "Khalid" ], addedCount: 0 }] Array.unobserve(personnes, function (changements) { console.log(changements); }); personnes.push('Abdullah'); // [{type: "splice", object: <arr>, index: 2, removed: [], addedCount: 1 }] // Le callback est toujours appelé
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | 36[1] | 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 |
[1] Dépréciée avec Chrome 49.