Veraltet
Dieses Feature ist veraltet. Obwohl es in manchen Browsern immer noch funktioniert, wird von seiner Benutzung abgeraten, da es jederzeit entfernt werden kann. Es sollte daher nicht mehr verwendet werden.
Die Array.unobserve() Methode wird eingesetzt um Observers die mit Array.observe() eingestellt wurden zu entfernen, jedoch ist dieses veraltet und wurde schon von Browsern entfernt. Man kann einen allgemeineres Proxy Objekt benutzen.
Syntax
Array.unobserve(arr, callback)
Parameter
arr- Das Array, welches nicht mehr Überwacht werden soll.
callback- Die Referenz zu dem Observer, die mit der Überwachung von Änderungen auf dem Array arr aufhören soll.
Beschreibung
Array.unobserve() sollt nach Array.observe() aufgerufen werden, um einen Observer von einem Array zu entfernen.
callback sollte eine Referenz auf eine Funktion sein und nicht einen anonyme Funktion sein, weil diese Referenz genutzt wird um den Observer zu entfernen. Es ist nicht zulässig Array.unobserve() mit einer anonymen Funktion aufzurufen, weil dadurch kein Observer entfernt wird.
Beispiele
Observer von Array entfernen
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();
// The callback wasn't called
Einsatz einer anonymen Funktion
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 }]
// The callback will always be called
Browserkompatibilität
| Desktop | Mobile | Server | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Grundlegende Unterstützung | Chrome Keine Unterstützung 36 — 52 | Edge Keine Unterstützung Nein | Firefox Keine Unterstützung Nein | IE Keine Unterstützung Nein | Opera Keine Unterstützung Nein | Safari Keine Unterstützung Nein | WebView Android Keine Unterstützung Nein | Chrome Android Keine Unterstützung Nein | Edge Mobile Keine Unterstützung Nein | Firefox Android Keine Unterstützung Nein | Opera Android Keine Unterstützung Nein | Safari iOS Keine Unterstützung Nein | Samsung Internet Android Keine Unterstützung Nein | nodejs Keine Unterstützung Nein |
Legende
- Keine Unterstützung
- Keine Unterstützung
- Nicht standardisiert. Erwarte schlechte browserübergreifende Unterstützung.
- Nicht standardisiert. Erwarte schlechte browserübergreifende Unterstützung.
- Veraltet. Nicht für den Einsatz in neuen Webseiten gedacht.
- Veraltet. Nicht für den Einsatz in neuen Webseiten gedacht.