Rumah > hujung hadapan web > tutorial js > Bagaimana Mengurus Keputusan Bergantung dalam Rantai Janji JavaScript?

Bagaimana Mengurus Keputusan Bergantung dalam Rantai Janji JavaScript?

Patricia Arquette
Lepaskan: 2024-12-05 18:01:11
asal
864 orang telah melayarinya

How to Manage Dependent Results in JavaScript Promise Chains?

Cara Mengendalikan Keputusan Bergantung dalam Rantai Janji

Soalan anda menanyakan cara menggunakan hasil sebelumnya dalam urutan permintaan HTTP berasaskan Promise. Untuk menangani perkara ini, mari kita pertimbangkan dahulu pelbagai strategi untuk berkongsi data merentas janji yang bergantung. Pilihan strategi bergantung pada keperluan anda untuk akses kepada semua keputusan terdahulu atau hanya yang terbaharu.

Memberi Hasil Secara Berurutan

Dalam model ini, hasil setiap permintaan diluluskan sebagai hujah kepada yang seterusnya. Walau bagaimanapun, mengakses keputusan sebelumnya menjadi mencabar.

Menetapkan Keputusan kepada Skop Lebih Tinggi

Sebagai alternatif, anda boleh menyimpan hasil dalam pembolehubah dalam skop yang lebih tinggi. Ini membolehkan untuk mengakses semua hasil carian sebelumnya.

Mengumpul Keputusan dalam Objek

Pendekatan ini melibatkan penciptaan objek untuk mengumpul hasil. Setiap permintaan menambahkan hasilnya pada objek, menjadikan semua data sebelumnya tersedia.

Rantai Janji Bersarang

Janji Bersarang mengekalkan akses kepada hasil carian sebelumnya. Setiap lapisan berturut-turut menyediakan skop di mana semua hasil awal boleh diakses.

Memutuskan Rantaian dengan Janji.all()

Jika sesetengah permintaan boleh beroperasi secara bebas, anda boleh menggunakan Promise.all() untuk menunggu penyelesaiannya. Ini membolehkan anda memperoleh keputusannya secara tak segerak.

Menggunakan Async/Await dalam ES7

Dalam ES7, async/wait boleh memudahkan penjujukan operasi tak segerak. Keputusan tersedia dalam skop yang sama, menghapuskan keperluan untuk berbilang pengendali .then().

Memohon pada Contoh Anda

Dalam kes khusus anda, di mana kunci API dihantar antara berbilang permintaan HTTP, anda boleh:

var r1, r2, r3;
callhttp("172.16.28.200", payload).then(function(result1) {
     r1 = result1.data; // Extract the API key
     return callhttp("172.16.28.200", payload);
}).then(function(result2) {
     r2 = result2.data;
     // r1 contains the API key from the previous request
     return callhttp("172.16.28.200", payload);
}).then(function(result3) {
     r3 = result3.data;
     // r1 and r2 contain the API keys from the previous requests
});
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana Mengurus Keputusan Bergantung dalam Rantai Janji JavaScript?. 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