Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengelak Janji Bersarang dan Meningkatkan Kebolehbacaan Kod dalam Node.js?

Bagaimanakah Saya Boleh Mengelak Janji Bersarang dan Meningkatkan Kebolehbacaan Kod dalam Node.js?

Linda Hamilton
Lepaskan: 2024-12-24 18:10:45
asal
242 orang telah melayarinya

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

Merungkai Janji Bersarang

Apabila bekerja dengan kod rangkaian dalam NodeJS dan menggunakan janji, adalah perkara biasa untuk menemui janji bersarang. Walaupun struktur ini mungkin diperlukan pada masa-masa tertentu, ia juga boleh membawa kepada kod yang bersepah dan tidak boleh dibaca. Pendekatan yang lebih bersih dan cekap ialah merantai janji dan bukannya bersarang.

Masalah Janji Bersarang

Pertimbangkan contoh berikut:

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);
                    });
            });
    });
};
Salin selepas log masuk

Coretan kod ini membuat tiga permintaan API secara bersiri, menggunakan janji bersarang. Walaupun ia berfungsi dengan betul, ia kelihatan berantakan dan sukar untuk diikuti.

Merangkai Janji Sebaliknya

Untuk merangkai janji dan bukannya bersarang, ubah suai panggilan balik kemudian untuk mengembalikan yang seterusnya janji:

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);
      });
};
Salin selepas log masuk

Sekarang, masing-masing kemudian panggil balik mengembalikan janji berikutnya, berkesan "mengikat" mereka bersama-sama. Nilai yang diselesaikan daripada setiap janji kemudiannya tersedia sebagai hujah kepada yang seterusnya kemudian panggil balik dalam urutan.

Dengan menggunakan teknik ini, anda boleh meningkatkan kebolehbacaan dan kebolehselenggaraan kod anda, terutamanya apabila bekerja dengan berbilang permintaan API .

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelak Janji Bersarang dan Meningkatkan Kebolehbacaan Kod dalam Node.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan