Heim > Web-Frontend > js-Tutorial > Wie kann ich verschachtelte Versprechen vermeiden und die Lesbarkeit des Codes in Node.js verbessern?

Wie kann ich verschachtelte Versprechen vermeiden und die Lesbarkeit des Codes in Node.js verbessern?

Linda Hamilton
Freigeben: 2024-12-24 18:10:45
Original
242 Leute haben es durchsucht

How Can I Avoid Nested Promises and Improve Code Readability in Node.js?

Enträtseln verschachtelter Versprechen

Bei der Arbeit mit Netzwerkcode in NodeJS und der Verwendung von Versprechen stößt man häufig auf verschachtelte Versprechen. Obwohl diese Struktur manchmal notwendig sein kann, kann sie auch zu unübersichtlichem und unlesbarem Code führen. Ein saubererer und effizienterer Ansatz besteht darin, Versprechen zu verketten, anstatt sie zu verschachteln.

Das Problem verschachtelter Versprechen

Betrachten Sie das folgende Beispiel:

exports.viewFile = function(req, res) {
  var fileId = req.params.id;
  boxContentRequest('files/' + fileId + '/content', req.user.box.accessToken)
    .then(function(response) {
        boxViewerRequest('documents', {url: response.request.href}, 'POST')
            .then(function(response) {
                boxViewerRequest('sessions', {document_id: response.body.id}, 'POST')
                    .then(function(response) {
                        console.log(response);
                    });
            });
    });
};
Nach dem Login kopieren

Dieses Code-Snippet führt drei API-Anfragen nacheinander durch und verwendet dabei verschachtelte Versprechen. Obwohl es korrekt funktioniert, ist es optisch unübersichtlich und schwer zu befolgen.

Stattdessen Versprechungen verketten

Um Versprechungen zu verketten, statt sie zu verschachteln, ändern Sie die then-Rückrufe so, dass sie die nächsten zurückgeben Versprechen:

exports.viewFile = function(req, res) {
    var fileId = req.params.id;
    boxContentRequest('files/' + fileId + '/content', req.user.box.accessToken)
      .then(function(response) {
          return boxViewerRequest('documents', {url: response.request.href}, 'POST');
      })
      .then(function(response) {
          return boxViewerRequest('sessions', {document_id: response.body.id}, 'POST');
      })
      .then(function(response) {
          console.log(response);
      });
};
Nach dem Login kopieren

Jetzt gibt jeder then-Rückruf das nachfolgende Versprechen zurück und „verkettet“ sie effektiv miteinander. Der aus jedem Versprechen aufgelöste Wert steht dann als Argument für den nächsten Rückruf in der Sequenz zur Verfügung.

Durch die Übernahme dieser Technik können Sie die Lesbarkeit und Wartbarkeit Ihres Codes verbessern, insbesondere wenn Sie mit mehreren API-Anfragen arbeiten .

Das obige ist der detaillierte Inhalt vonWie kann ich verschachtelte Versprechen vermeiden und die Lesbarkeit des Codes in Node.js verbessern?. 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