Rumah > hujung hadapan web > tutorial js > Perbezaan antara pemulangan dan pemulangan menanti dalam JavaScript

Perbezaan antara pemulangan dan pemulangan menanti dalam JavaScript

Barbara Streisand
Lepaskan: 2024-12-19 13:16:10
asal
607 orang telah melayarinya

Difference between return and return await in JavaScript

Anda mungkin berfikir bahawa kedua-dua pendekatan ini adalah sama. Tetapi terdapat perbezaan penting antara kepulangan dan kepulangan menanti.

Apabila kami berurusan dengan janji, seperti pertanyaan pangkalan data, kami biasanya menggunakan menunggu. Contohnya:

async function getUserById(userId) {
  const user = await userRepository.findById(userId);
  return user;
}
Salin selepas log masuk

Walau bagaimanapun, dalam kes ini, penggunaan await tidak semestinya diperlukan. Kita boleh menulisnya seperti ini:

function getUserById(userId) {
  return userRepository.findById(userId);
}
Salin selepas log masuk

Kedua-dua pilihan akan berfungsi seperti biasa.

Apabila kami mempunyai blok cuba/tangkap, tingkah laku adalah berbeza, dan jika anda tidak menyedari perkara ini, ia boleh menyebabkan ralat yang tidak dijangka.

function getUserById(userId) {
  try {
    return userRepository.findById(userId);
  } catch (error) {
    console.error(error.message);
  }
}
Salin selepas log masuk

Jika ralat berlaku dalam findById, ia tidak akan ditangkap dan ini mungkin akan menjadi masalah. Di sinilah kita perlu menggunakan menunggu pulangan.

async function getUserById(userId) {
  try {
    return await userRepository.findById(userId);
  } catch (error) {
    console.error(error.message);
  }
}
Salin selepas log masuk

Sekarang, kami selamat, dan sebarang ralat akan jatuh ke dalam blok tangkapan.

Ringkasnya, jika kami perlu mengendalikan dan memproses ralat dalam blok tangkapan, kami mesti menggunakan tunggu pulangan untuk memastikan aplikasi beroperasi dengan betul.

Atas ialah kandungan terperinci Perbezaan antara pemulangan dan pemulangan menanti dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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