Ketahui lebih lanjut tentang Promise.resolve()

PHPz
Lepaskan: 2024-02-18 19:13:05
asal
644 orang telah melayarinya

Ketahui lebih lanjut tentang Promise.resolve()

Promise.resolve() penjelasan terperinci, contoh kod khusus diperlukan

Promise ialah mekanisme dalam JavaScript untuk mengendalikan operasi tak segerak. Dalam pembangunan sebenar, selalunya perlu untuk memproses beberapa tugas tak segerak yang perlu dilaksanakan mengikut tertib, dan kaedah Promise.resolve() digunakan untuk mengembalikan objek Promise yang telah dipenuhi.

Promise.resolve() ialah kaedah statik kelas Promise, yang menerima parameter dan mengembalikan objek Promise. Jika parameter masuk ialah objek Promise, Promise.resolve() akan mengembalikan objek secara terus jika parameter masuk ialah objek boleh kemudian (iaitu objek dengan kaedah kemudian), Promise.resolve() akan menukar objek itu kepada; objek Janji dan kembalikan; jika parameter masuk adalah nilai primitif (bukan objek), Janji Ditepati dengan nilai primitif sebagai hasilnya akan dikembalikan.

Penggunaan dan tingkah laku Promise.resolve() dijelaskan secara terperinci melalui contoh kod:

Contoh 1:

Promise.resolve("成功")
  .then((msg) => {
    console.log(msg);
  })
  .catch((err) => {
    console.error(err);
  });

// 输出:成功
Salin selepas log masuk

Dalam contoh di atas, kami mencipta objek Fulfilled Promise melalui kaedah Promise.resolve() . Dalam contoh ini, parameter masuk ialah rentetan "kejayaan", jadi Promise.resolve("success") secara langsung mengembalikan objek Promise dengan status Fulfilled dan hasil "berjaya". Kemudian kami menggunakan kaedah .then() untuk memproses hasil objek Promise dan mencetaknya melalui console.log().

Contoh 2:

Promise.resolve(Promise.reject(new Error("失败")))
  .then((msg) => {
    console.log(msg);
  })
  .catch((err) => {
    console.error(err);
  });

// 输出:Error: 失败
Salin selepas log masuk

Dalam contoh di atas, kami menukar objek Promise dalam keadaan Ditolak kepada objek Promise dalam keadaan Fulfilled melalui kaedah Promise.resolve(). Dalam contoh ini, parameter yang kami masukkan ialah Promise.reject(new Error("Failure")), yang mengembalikan objek Promise dalam keadaan Rejected. Kemudian kami menggunakan Promise.resolve() untuk menukar objek Promise menjadi objek Fulfilled Promise dan memproses hasil objek Promise melalui kaedah .catch() dan mencetaknya melalui console.error().

Contoh 3:

Promise.resolve({ name: "张三", age: 18 })
  .then((obj) => {
    console.log(obj.name, obj.age);
  })
  .catch((err) => {
    console.error(err);
  });

// 输出:张三 18
Salin selepas log masuk

Dalam contoh di atas, kami mencipta objek Fulfilled Promise melalui kaedah Promise.resolve(). Dalam contoh ini, parameter yang dihantar ialah objek { name: "Zhang San", umur: 18 }, jadi Promise.resolve({ name: "Zhang San", umur: 18 }) mengembalikan secara langsung objek yang statusnya Ditepati dan Hasilnya ialah objek Janji untuk objek ini. Kemudian kami menggunakan kaedah .then() untuk memproses hasil objek Promise dan mencetak nama atribut dan umur objek melalui console.log().

Ringkasan:

Melalui contoh kod di atas, kita dapat melihat bahawa fungsi kaedah Promise.resolve() adalah untuk menukar nilai kepada objek Fulfilled Promise. Ia boleh menerima pelbagai jenis parameter, termasuk objek Promise, objek boleh kemudian dan nilai primitif. Gunakan kaedah Promise.resolve() untuk menukar sebarang jenis nilai kepada objek Promise dengan mudah dan melakukan pemprosesan seterusnya padanya.

Perlu diambil perhatian bahawa objek Promise yang dikembalikan oleh kaedah Promise.resolve() ialah objek Fulfilled Promise, jadi pemprosesan seterusnya boleh diproses terus menggunakan kaedah .then() dan bukannya menggunakan kaedah .catch(). keadaan tidak normal.

Atas ialah kandungan terperinci Ketahui lebih lanjut tentang Promise.resolve(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan