Trotz Empfehlungen zur Vermeidung von jQuery-Versprechungen können Entwickler beim Verketten asynchroner jQuery-Funktionen ohne Verwendung von jQuery vor Herausforderungen stehen Versprechensverarbeitungsmechanismen wie .then() oder .when(). Um dieses Problem zu lösen, sollten Sie den folgenden Ansatz in Betracht ziehen:
jQuery-Versprechen sind mit JavaScript-Versprechen interoperabel. Dies bedeutet, dass Sie sie problemlos in Ihrem Code kombinieren können. Alle seriösen Bibliotheken und nativen Versprechen akzeptieren Thenables aus jeder Implementierung. Infolgedessen können Sie in den meisten Fällen so programmieren, als ob alle Ihre Versprechen dieselbe Implementierung verwenden würden.
Wenn Sie jedoch sicherstellen müssen, dass alle .then()-Aufrufe Ihre bevorzugte Implementierung verwenden oder nicht implementieren Bei Standardfunktionen ist es wichtig, alle Versprechen, auf die Sie Methoden direkt aufrufen, explizit umzuwandeln. Zum Beispiel:
Promise.all([$.ajax(...), $.ajax(...)]) // Just works (native `then`)
$.ajax(...) // jQuery promise Promise.resolve($.ajax(...)) // Explicit cast .then(function(data) { // Native `then` return $.ajax(...); // Just works }) .catch(...) // Use features of native promise
Denken Sie daran, dass das Mischen von jQuery- und JavaScript-Versprechen im Allgemeinen kein Problem darstellt. Wenn Sie jedoch eine explizite Kontrolle über die Implementierung benötigen, verwenden Sie den expliziten Casting-Ansatz.
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