Heim > Web-Frontend > js-Tutorial > Hauptteil

Warum sind Rückrufe mit Promise .then-Methoden eine schlechte Idee?

Mary-Kate Olsen
Freigeben: 2024-11-16 09:03:02
Original
709 Leute haben es durchsucht

Why are Callbacks with Promise .then Methods a Bad Idea?

Unappetitliche Konsequenzen der Verwendung von Callbacks mit Promise .then-Methoden

Auf der Suche nach einem optimaleren Ansatz für die Verwaltung asynchroner Vorgänge stoßen Entwickler möglicherweise auf Vorschläge dazu die Verwendung von Callback-Funktionen innerhalb von AngularJS-Diensten. Solche Praktiken erfordern jedoch eine genaue Prüfung, da sie zu unerwünschten Ergebnissen führen können.

Im bereitgestellten Codeausschnitt verwendet der tokenService einen Rückruf innerhalb seiner getTokens-Methode, um das Ergebnis einer HTTP-Anfrage zu verarbeiten. Dieser Ansatz weist jedoch mehrere Nachteile auf:

  • Unterbrochener Fluss: Er behindert die nahtlose Verkettung von Erfolgs- und Fehlerhandlern.
  • Kontrollumkehr: Dadurch wird die Kontrolle über die Antwortverarbeitung vom Anrufer auf das aufgerufene Modul verlagert, was möglicherweise zu Verwirrung führt.
  • Inkonsistente Versprechen: Während der Code Versprechen enthält, werden Rückrufe weiterhin für die Verarbeitung von Antworten verwendet , wodurch kognitive Dissonanz entsteht.

Refactoring für versprechungsorientierte Handhabung

Um dieses Problem zu beheben, sollte der Code neu gestaltet werden, um die asynchrone Natur von Versprechungen vollständig zu berücksichtigen . In der überarbeiteten Version gibt die getTokens-Methode einfach ein Versprechen zurück, das der Aufrufer dann innerhalb seiner eigenen then-Methode verwenden kann:

var getTokens = function() {
  return $http.get('/api/tokens');
};
Nach dem Login kopieren
yourModule.getTokens()
  .then(function(response) {
    // handle it
  });
Nach dem Login kopieren

Vorteile von Promise-Centric Design

Dieser Ansatz bietet zahlreiche Vorteile gegenüber der Callback-basierten Methode:

  • Verbesserter Ablauf:Vorgänge können effektiver miteinander verkettet werden, wodurch ein logischer und optimierter Ausführungsablauf gewährleistet wird.
  • Klarheit: Die Verantwortung für die Antwortbearbeitung verbleibt beim Anrufer, wodurch Unklarheiten vermieden werden.
  • Konsistenz: Versprechen werden in der gesamten Codebasis konsistent eingesetzt, was das Verständnis fördert und Wartbarkeit.

Durch das Verständnis der Unzulänglichkeiten der Verwendung von Callbacks mit Promise-.then-Methoden und die Übernahme eines stärker Promise-orientierten Ansatzes können Entwickler ihre Praktiken zur asynchronen Codeverarbeitung deutlich verbessern. Dies führt zu klarerem, besser verwaltbarem Code, der die Entwicklererfahrung verbessert und eine besser wartbare und fehlerfreie Codebasis fördert.

Das obige ist der detaillierte Inhalt vonWarum sind Rückrufe mit Promise .then-Methoden eine schlechte Idee?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage