Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Melaksanakan Kod Asynchronous dengan Betul di Peringkat Atas dalam JavaScript?

Bagaimanakah Saya Melaksanakan Kod Asynchronous dengan Betul di Peringkat Atas dalam JavaScript?

DDD
Lepaskan: 2024-12-13 06:44:19
asal
216 orang telah melayarinya

How Do I Properly Execute Asynchronous Code at the Top Level in JavaScript?

Pelaksanaan Kod Asynchronous Peringkat Atas

Dalam pengaturcaraan tak segerak, ciri async/wait membolehkan anda bertukar antara tugas segerak dan tak segerak dengan lancar. Walau bagaimanapun, apabila melaksanakan kod tak segerak di peringkat atas, pertimbangan tertentu mesti dibuat.

Penjelasan

Apabila anda mentakrifkan fungsi tak segerak, ia mengembalikan Janji. Apabila anda memanggil fungsi ini di peringkat atas, ia segera mengembalikan Janji, bukan nilai yang diselesaikan. Inilah sebabnya mengapa konsol anda mengeluarkan objek Promise sebelum ia melaksanakan tugas tak segerak.

Penyelesaian

Untuk menyelesaikannya, anda mempunyai beberapa pilihan:

1. Menunggu Peringkat Atas (Cadangan ES2022)

Dalam persekitaran moden, anda boleh menggunakan menunggu peringkat teratas dalam modul. Ini membolehkan anda menunggu Janji terus dalam skop modul.

const text = await main();
console.log(text); // Logs the resolved value
Salin selepas log masuk

2. Fungsi Async peringkat atas dengan Penolakan Tidak Terkendali

Anda boleh menentukan fungsi async peringkat atas yang tidak pernah menolak. Ini menghalang ralat penolakan yang tidak dikendalikan tetapi tidak mengendalikan ralat secara eksplisit.

(async () => {
  try {
    const text = await main();
    console.log(text); // Logs the resolved value
  } catch (e) {
    // Error handling (optional)
  }
})();
Salin selepas log masuk

3. then() dan catch()

Jika kedua-dua pilihan di atas tidak sesuai, anda boleh menggunakan kaedah Promise then() dan catch() untuk mengendalikan hasilnya.

main()
  .then((text) => {
    console.log(text); // Logs the resolved value
  })
  .catch((err) => {
    // Error handling
  });
Salin selepas log masuk

Nota: Dalam semua kes, adalah penting untuk mengendalikan penolakan dengan betul untuk mengelakkan ralat penolakan yang tidak dikendalikan.

Atas ialah kandungan terperinci Bagaimanakah Saya Melaksanakan Kod Asynchronous dengan Betul di Peringkat Atas dalam 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan