Bagaimanakah Fungsi Async Mengembalikan Nilai Menggunakan Async-Await?

Barbara Streisand
Lepaskan: 2024-11-11 13:43:02
asal
840 orang telah melayarinya

How do Async Functions Return Values Using Async-Await?

Cara Async Mengembalikan Nilai Menggunakan Async-Await

Tidak seperti fungsi biasa, fungsi async memanfaatkan pemprosesan tak segerak, membolehkan mereka menjeda dan menyambung semula pelaksanaan. Walau bagaimanapun, ini memperkenalkan soalan: bagaimanakah seseorang boleh mendapatkan semula nilai yang dikembalikan?

Pertanyaan Asal

Pada mulanya, pendekatan biasa ialah mencuba:

async function getData() {
    const data = await axios.get('https://jsonplaceholder.typicode.com/posts');
    return data;
}
console.log(getData());
Salin selepas log masuk

Walau bagaimanapun, pendekatan ini menghasilkan Janji { } output, kerana fungsi async memerlukan pengendalian khas.

Keajaiban Async-Await dalam Async IIFE

Penyelesaian terletak pada membungkus console.log anda dalam Ungkapan Fungsi Segera Dikenakan Asynchronous (async IIFE ). Ia kelihatan seperti ini:

async function getData() {
  return await axios.get('https://jsonplaceholder.typicode.com/posts');
}

(async () => {
  console.log(await getData())
})()
Salin selepas log masuk

Async-Await with Promises

Memandangkan Axios mengembalikan janji, anda boleh memudahkan fungsi getData dengan meninggalkan async/wait:

function getData() {
  return axios.get('https://jsonplaceholder.typicode.com/posts');
}
Salin selepas log masuk

Dan kemudian bungkus console.log anda dalam IIFE async sebagai sebelum:

(async () => {
   console.log(await getData())
})()
Salin selepas log masuk

Kesimpulan

Dengan menggunakan async-await dalam async IIFEs, anda boleh mendapatkan dan log nilai yang dikembalikan oleh fungsi async dengan berkesan, membuka kunci potensi pengaturcaraan tak segerak.

Atas ialah kandungan terperinci Bagaimanakah Fungsi Async Mengembalikan Nilai Menggunakan Async-Await?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan