Apakah itu Penolakan Janji Tidak Terkendali dalam Sudut 2 dan Bagaimana Saya Membetulkannya?

Mary-Kate Olsen
Lepaskan: 2024-11-03 10:27:03
asal
191 orang telah melayarinya

What is an Unhandled Promise Rejection in Angular 2 and How Do I Fix It?

Penolakan Janji Tidak Terkendali: Panduan

Dalam Sudut 2, anda mungkin menghadapi mesej ralat yang menyatakan "Penolakan Janji Tidak Terkendali." Ralat yang membingungkan ini merujuk kepada pengendalian janji yang tidak betul dalam kod anda.

Memahami Janji

Janji ialah operasi tak segerak yang mewakili penyiapan atau kegagalan tindakan akhirnya . Dalam JavaScript, janji boleh dibuat menggunakan pembina Promise. Apabila janji dibuat, ia boleh sama ada diselesaikan dengan nilai atau ditolak dengan ralat.

Mengendalikan Janji

Apabila menggunakan janji, adalah penting untuk mengendalikan kedua-dua senario resolusi dan penolakan. Ini dicapai menggunakan kaedah .then() dan .catch(). .then() digunakan untuk mengendalikan keadaan yang diselesaikan, manakala .catch() mengendalikan keadaan yang ditolak.

Penolakan Janji Tidak Terkendali

Penolakan janji yang tidak dikendalikan berlaku apabila janji tidak ditangani dengan baik. Ini boleh berlaku jika anda hanya menggunakan .then() tanpa menyediakan pengendali .catch(). Tanpa kaedah .catch(), penolakan janji dianggap tidak dikendalikan, membawa kepada mesej ralat.

Ralat: melahirkan cmd ENOENT

Ralat: ralat spawn cmd ENOENT" yang anda temui secara khusus berkaitan dengan pelaksanaan skrip Node.js dalam command prompt. ENOENT menunjukkan bahawa arahan yang ditentukan tidak dapat ditemui.

Menyelesaikan Penolakan Janji Tidak Terkendali

Untuk mengelakkan penolakan janji yang tidak dikendalikan, pastikan anda mengendalikan semua janji dengan betul. Tambah pengendali .catch() untuk memastikan semua hasil yang mungkin ditangkap dan dikendalikan dengan baik.

Kod Contoh

Kod berikut menunjukkan pengendalian janji yang betul dengan menambahkan .catch() pengendali:


var PTest = function () {

return new Promise(function (resolve, reject) {
    if (somevar === true)
        resolve();
    else
        reject();
});
Salin selepas log masuk

}
var myfunc = PTest();
myfunc.then(function () {

 console.log("Promise Resolved");
Salin selepas log masuk

}).tangkap(fungsi () {

 console.log("Promise Rejected");
Salin selepas log masuk

});

Atas ialah kandungan terperinci Apakah itu Penolakan Janji Tidak Terkendali dalam Sudut 2 dan Bagaimana Saya Membetulkannya?. 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