Rumah hujung hadapan web tutorial js Senario penggunaan dan fungsi kaedah Promise pada masa itu

Senario penggunaan dan fungsi kaedah Promise pada masa itu

Feb 18, 2024 pm 06:33 PM
promise kesan then

Senario penggunaan dan fungsi kaedah Promise pada masa itu

Apakah yang dilakukan oleh kaedah Promise? Contoh kod khusus diperlukan

Dalam JavaScript, Promise ialah mekanisme untuk mengendalikan operasi tak segerak. Ia boleh menjadikan kod lebih ringkas dan boleh dibaca, sambil mengelakkan masalah panggilan balik neraka. Promise menyediakan kaedah kemudian untuk mengendalikan fungsi panggil balik selepas operasi berjaya. Berikut akan memperkenalkan kaedah Promise dan fungsinya secara terperinci, dan memberikan contoh kod khusus.

Kaedah Promise kemudiannya digunakan untuk menentukan fungsi panggil balik apabila objek Promise berjaya. Ia menerima satu atau lebih fungsi panggil balik sebagai parameter. Apabila status Janji berjaya, kaedah kemudian akan dipanggil, menghantar hasil yang berjaya sebagai parameter kepada fungsi panggil balik. Antaranya, kaedah kemudian mengembalikan objek Janji baharu, dan beberapa kaedah kemudian boleh dipanggil dalam rantai.

Untuk lebih memahami peranan kaedah Promise, mari kita tunjukkan penggunaannya melalui contoh khusus.

function getData() {
  return new Promise((resolve, reject) => {
    // 模拟异步操作,假设请求数据需要1秒钟
    setTimeout(() => {
      const data = '这是异步获取的数据';
      // 模拟请求成功
      resolve(data);
    }, 1000);
  });
}

// 调用 getData 方法获取数据,并使用 then 方法处理成功的回调函数
getData()
  .then((result) => {
    console.log('请求成功');
    console.log('获取到的数据为:', result);
  })
  .catch((error) => {
    console.error('请求失败:', error);
  });
Salin selepas log masuk

Dalam contoh di atas, kami menentukan fungsi yang dipanggil getData yang mengembalikan objek Promise. Dalam pembina Promise, kami mensimulasikan operasi tak segerak dan menggunakan fungsi setTimeout untuk mensimulasikan kelewatan 1 saat. Selepas kelewatan tamat, kami memanggil kaedah penyelesaian, menghantar data ke fungsi panggil balik kejayaan.

Seterusnya, kami memanggil fungsi getData dan menggunakan kaedah kemudian untuk mengendalikan panggilan balik yang berjaya. Dalam fungsi panggil balik, kami mencetak gesaan bahawa permintaan itu berjaya dan mengeluarkan data yang diperoleh.

Jika keadaan Janji berubah, kaedah itu akan dipanggil secara automatik. Ini membolehkan kami merantai beberapa kaedah kemudian untuk mengendalikan berbilang operasi tak segerak. Berikut ialah contoh:

function getData() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      const data = '这是异步获取的数据';
      resolve(data);
    }, 1000);
  });
}

getData()
  .then((result) => {
    console.log('第一个异步操作成功');
    console.log('获取到的数据为:', result);
    return '这是返回的数据';
  })
  .then((result) => {
    console.log('第二个异步操作成功');
    console.log('返回的数据为:', result);
  })
  .catch((error) => {
    console.error('请求失败:', error);
  });
Salin selepas log masuk

Dalam contoh di atas, kami mengembalikan nilai baharu dalam fungsi panggil balik kaedah pertama kemudian. Nilai baharu ini akan menjadi parameter kaedah seterusnya. Dengan cara ini, rantaian panggilan Janji terbentuk. Dalam kaedah kedua kemudian, kami mencetak gesaan bahawa operasi tak segerak kedua berjaya dan mengeluarkan data yang dikembalikan.

Jika ralat berlaku dalam mana-mana kaedah kemudian dalam panggilan berantai Promise, ralat akan ditangkap dan dihantar ke kaedah tangkapan terdekat. Kaedah tangkapan digunakan untuk mengendalikan ralat dalam rantai Janji. Dalam contoh di atas, jika ralat berlaku dalam mana-mana operasi tak segerak, kami akan mencetak mesej ralat dalam kaedah tangkapan.

Ringkasnya, kaedah Janji kemudian digunakan untuk mengendalikan fungsi panggil balik selepas operasi tak segerak berjaya, dan boleh membuat panggilan berantai. Ia adalah mekanisme untuk mengoptimumkan kod tak segerak dan aliran pemprosesan, menjadikan kod lebih ringkas dan boleh dibaca. Melalui kaedah itu, kami boleh mengendalikan operasi tak segerak dengan berkesan dan mengendalikan hasil berbilang operasi tak segerak dengan mudah.

Di atas ialah fungsi dan contoh kod khusus kaedah Promise pada masa itu. Saya berharap dengan membaca artikel ini, anda boleh lebih memahami kaedah Janji dan menggunakan teknik ini secara fleksibel dalam pembangunan sebenar.

Atas ialah kandungan terperinci Senario penggunaan dan fungsi kaedah Promise pada masa itu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Fahami peranan dan penggunaan Linux DTS Fahami peranan dan penggunaan Linux DTS Mar 01, 2024 am 10:42 AM

Fahami peranan dan penggunaan Linux DTS

Apakah penyesuai Bluetooth digunakan? Apakah penyesuai Bluetooth digunakan? Feb 19, 2024 pm 05:22 PM

Apakah penyesuai Bluetooth digunakan?

Terokai kepentingan dan peranan define function dalam PHP Terokai kepentingan dan peranan define function dalam PHP Mar 19, 2024 pm 12:12 PM

Terokai kepentingan dan peranan define function dalam PHP

Analisis fungsi dan prinsip nohup Analisis fungsi dan prinsip nohup Mar 25, 2024 pm 03:24 PM

Analisis fungsi dan prinsip nohup

Menepati janji anda: Kebaikan dan keburukan menunaikan janji anda Menepati janji anda: Kebaikan dan keburukan menunaikan janji anda Feb 18, 2024 pm 08:06 PM

Menepati janji anda: Kebaikan dan keburukan menunaikan janji anda

Penjelasan terperinci tentang senario penggunaan dan fungsi kata kunci yang tidak menentu dalam Java Penjelasan terperinci tentang senario penggunaan dan fungsi kata kunci yang tidak menentu dalam Java Jan 30, 2024 am 10:01 AM

Penjelasan terperinci tentang senario penggunaan dan fungsi kata kunci yang tidak menentu dalam Java

PHP digunakan untuk apa? Terokai peranan dan fungsi PHP PHP digunakan untuk apa? Terokai peranan dan fungsi PHP Mar 24, 2024 am 11:39 AM

PHP digunakan untuk apa? Terokai peranan dan fungsi PHP

Ketahui lebih lanjut tentang Promise.resolve() Ketahui lebih lanjut tentang Promise.resolve() Feb 18, 2024 pm 07:13 PM

Ketahui lebih lanjut tentang Promise.resolve()

See all articles