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

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung InternetNode.js
Support simple
ObsolèteNon-standard
Chrome Aucun support 36 — 52Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonEdge Mobile Aucun support NonFirefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Aucun support Non

Légende

Aucun support  
Aucun support
Fonctionnalité non-standard. Celle-ci peut être incorrectement supportée par les autres navigateurs.
Fonctionnalité non-standard. Celle-ci peut être incorrectement supportée par les autres navigateurs.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight
Dernière mise à jour par : SphinxKnight,