Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa Saya Melihat Ralat \"Penolakan Janji Tidak Terkendali\" dalam Sudut 2?

Mengapa Saya Melihat Ralat \"Penolakan Janji Tidak Terkendali\" dalam Sudut 2?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-04 05:58:29818semak imbas

Why Am I Seeing

Menyingkap Penolakan Janji Tidak Terkendali dalam Angular 2

Semasa menavigasi melalui tutorial Angular 2, anda mungkin menghadapi ralat yang menunjukkan "Penolakan Janji Tidak Terkendali. " Ini boleh mengelirukan, terutamanya jika anda tidak biasa dengan konsep itu. Mari kita mendalami apa itu "Penolakan Janji Tidak Terkendali" dan cara menyelesaikannya.

Apakah itu Penolakan Janji Tidak Terkendali?

Janji ialah mekanisme penting dalam JavaScript untuk mengendalikan operasi tak segerak. Apabila janji dibuat, ia boleh diselesaikan (berjaya) atau ditolak (tidak berjaya). Jika janji ditolak tetapi tidak dikendalikan dengan betul, ralat "Penolakan Janji Tidak Terkendali" berlaku.

Dalam kes khusus anda, ralat berkenaan dengan spawn cmd ENOENT, menunjukkan bahawa sistem pengendalian tidak dapat mencari arahan bernama "cmd."

Menyelesaikan Janji Yang Tidak Ditangani Penolakan

Untuk menyelesaikan isu ini, anda perlu memastikan bahawa semua janji dalam kod anda dikendalikan. Ini bermakna setiap janji mesti diikuti oleh sama ada blok .then(...) untuk mengendalikan resolusi yang berjaya atau blok .catch(...) untuk mengendalikan penolakan.

Sebagai contoh, fungsi PTest anda boleh diubah suai untuk memasukkan pengendalian ralat:

var PTest = function () {
    return new Promise(function (resolve, reject) {
        if (somevar === true)
            resolve();
        else
            reject(Error("Operation failed"));
    });
}

Selain itu, anda harus memastikan bahawa pengendalian ralat ditulis sebagai rantai dan bukannya pernyataan berasingan. Kod berikut akan menjana ralat "penolakan janji yang tidak dikendalikan" walaupun terdapat tangkapan cuba:

try {
myfunc.then(function () {
     console.log("Promise Resolved");
});
} catch (e) {
     console.log("Promise Rejected");
}

Dengan mengikut garis panduan ini, anda boleh mengendalikan penolakan janji dengan berkesan dan menghalang penampilan "Penolakan Janji Tidak Terkendali" kesilapan.

Atas ialah kandungan terperinci Mengapa Saya Melihat Ralat \"Penolakan Janji Tidak Terkendali\" dalam Sudut 2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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