Obwohl in Tutorials von der Verwendung von jQuery-Versprechen abgeraten wird, kann die Verkettung asynchroner Funktionen ohne sie eine Herausforderung darstellen. In diesem Artikel wird untersucht, wie mit Promise.all und anderen Methoden mit solchen Situationen umgegangen werden kann, ohne auf jQuerys .then() oder .when() angewiesen zu sein.
JavaScript verspricht Unterstützung für Interoperabilität und ermöglicht das Mischen verschiedener Implementierungen. Das explizite Umwandeln von Versprechen ist jedoch unerlässlich, wenn Methoden direkt darauf aufgerufen werden.
Betrachten Sie das folgende Beispiel:
Promise.all([$.ajax(…), $.ajax(…)]).then(…); // jQuery Promise is automatically casted
Um sicherzustellen, dass alle .then()-Methodenaufrufe explizit eine bestimmte Implementierung verwenden Wandeln Sie das jQuery-Versprechen um:
Promise.resolve($.ajax(…)) .then(function(data) { return $.ajax(…); }) .catch(…)
Indem Sie das jQuery-Versprechen in ein natives Versprechen umwandeln, können Sie auf dessen Funktionen zugreifen und gleichzeitig mehrere asynchrone Funktionen mit Promise.all verketten.
Das obige ist der detaillierte Inhalt vonWie verkettet man asynchrone jQuery-Funktionen ohne Versprechen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!