Interoperabilität von JavaScript verspricht eine effiziente Verkettung asynchroner jQuery-Funktionen
Bei der Verkettung asynchroner jQuery-Funktionen ist es oft wünschenswert, die integrierten jQuery-Funktionen zu vermeiden Promises-Funktionalität und verwenden Sie stattdessen native ES6-Promises. Diese Interoperabilität ermöglicht eine nahtlose Integration zwischen jQuery-Aktionen und Ihrer gewünschten Promise-Implementierung.
Verketten von zwei getJSON-Aufrufen mit nativen Versprechen
Um zwei $.getJSON-Aufrufe zu verketten, ohne jQuery zu verwenden () oder .when() befolgen Sie diese Schritte:
Lösen Sie das erste jQuery-Versprechen auf:
Promise.resolve($.getJSON(url1, params1));
Verketten Sie dann den zweiten Aufruf innerhalb eines nativen Aufrufs Rückruf:
.then((data1) => { return $.getJSON(url2, params2); })
Diese Methode stellt sicher, dass der zweite Aufruf erst ausgeführt wird, nachdem der erste erfolgreich abgeschlossen wurde, ohne auf die Promises-Architektur von jQuery angewiesen zu sein.
Schnittstelle mit Non -Standardmethoden
Während JavaScript-Versprechen interoperabel sind, erfordert die Verwendung nicht standardmäßiger Methoden oder Funktionen eine explizite Umwandlung. Um beispielsweise auf eine jQuery-spezifische Methode innerhalb einer nativen Promise-Kette zuzugreifen, verwenden Sie Promise.resolve(), um das jQuery-Promise in ein natives umzuwandeln, bevor Sie die Methode aufrufen:
Promise.resolve($.ajax(…)) .then((data) => { // Use jQuery-specific method data.foo(); })
Dieser Ansatz stellt sicher, dass die foo()-Methode im Kontext der nativen Promise-Kette aufgerufen wird.
Zusammenfassend lässt sich sagen, dass Sie jQuerys nahtlos kombinieren können, wenn Sie die Interoperabilität von JavaScript-Promises verstehen asynchrone Funktionen mit der gewünschten Promise-Implementierung für eine effiziente Verkettung asynchroner Vorgänge.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3