Rolf B: Geltungsbereich Variable Javascript

Beitrag lesen

Hallo Pit,

den Callback brauchst Du aber trotzdem nicht. Du kannst auch im complete-Handler loggen.

Bitte beachte, dass jQuery keine Promises liefert, sondern den eingebauten Helper Deferred. Der verhält sich im Wesentlichen wie ein Promise. Lies Dir die Beschreibung von $.post auf api.jquery.com durch!

Die Methoden success, error und complete entsprechen dem ursprünglichen Deferred-System, aber jQuery lehnt in neueren Versionen mehr an Promises an. Darum gelten die von Dir verwendeten Methoden als missbilligt und sind in jQuery 3 nicht mehr vorhanden.

Statt dessen gibt es bereits seit jQuery 1.5 die Methoden done, fail und always, seit 1.8 werden aber auch die Standardmethoden von Promises unterstützt: then und catch. Die finally-Methode der Promises fehlt (die ist relativ neu) und kommt vielleicht noch irgendwann.

Ich find's ja oberblöd, dass jQuery immer noch Deferred verwendet und keine nativen Promises einsetzt, aber vermutlich gibt's da irgendeinen Kompatibilitätszopf den sie nicht abschneiden wollen oder können. Immerhin musst Du Dir keinen Kopf um Fetch-Polyfills machen, wenn Du bei jQuery bleibst 😉. Aber vielleicht schaust Du Dir das Fetch-API ja mal an.

Rolf

--
sumpsi - posui - clusi