0Pricing
TypeScript Academy · Pelajaran

Promise<T>, pengetikan async/await

Pahami bentuk Promise , beri anotasi pada fungsi async, dan gunakan nilai yang telah ditunggu dengan aman.

Promise<T>, pengetikan async/await adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar TypeScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus TypeScript Academy mencakup 3 pelajaran total.

Pendahuluan

Tujuan: Membaca dan menulis kode berbasis Promise<T>. Anda akan memberi tipe pada fungsi async, menunggu nilai, dan menjaga tipe kesalahan.

Dasar-dasar Promise

Promise<T> membungkus nilai yang akan tersedia. Gunakan Promise ketika tidak ada nilai yang diselesaikan.

function delay(ms: number): Promise<void> {
  return new Promise(resolve => setTimeout(resolve, ms));
}

const p: Promise<void> = delay(100);

p.then(() => console.log("done"));

Pemberian tipe hasil async

Fungsi async selalu mengembalikan Promise<U>. Isi fungsi mengembalikan U, yang secara otomatis dibungkus oleh TS.

async function fetchNumber(): Promise<number> {
  await delay(10);
  return 42; // inferred as Promise<number>
}

fetchNumber().then(n => console.log(n.toFixed(0)));

Pemberian tipe await

await membuka Promise dan menghasilkan tipe di dalamnya (string di sini), sehingga Anda memperoleh IntelliSense yang benar.

async function readUserName(id: number): Promise<string> {
  await delay(5);
  return `user-${id}`;
}

async function main(): Promise<void> {
  const name = await readUserName(7); // name: string
  console.log(name.toUpperCase());
}

main();

Pemberian tipe Promise.all

Promise.all mempertahankan tipe tupel; setiap elemen dibuka hingga tipe di dalamnya untuk Anda.

async function both() {
  const [n, s] = await Promise.all([
    fetchNumber(),
    readUserName(1),
  ]);
  console.log(n, s);
}

both();

Pemberian tipe kesalahan

Dalam catch, utamakan unknown. Persempit dengan instanceof Error (atau pemeriksaan khusus) sebelum mengakses bidang.

async function safe() {
  try {
    await delay(1);
    throw new Error("boom");
  } catch (e: unknown) {
    if (e instanceof Error) {
      console.error("Handled:", e.message);
    } else {
      console.error("Unknown error", e);
    }
  }
}

safe();

Pemeriksaan tipe hasil async

Pemeriksaan singkat: Apa tipe hasil dari fungsi async yang mengembalikan nilai bertipe U?

Ringkasan

Ringkasan: Promise<T> membungkus nilai yang akan tersedia, fungsi async mengembalikan Promise<U>, await membuka tipe, dan kesalahan dalam catch sebaiknya dimulai sebagai unknown.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Promise<T>, pengetikan async/await” gratis?

Ya — teks lengkap “Promise<T>, pengetikan async/await” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus TypeScript Academy, upgrade ke CoddyKit PRO. Kursus TypeScript Academy mencakup 3 pelajaran total.

Apa yang akan aku pelajari di “Promise<T>, pengetikan async/await”?

Pahami bentuk Promise , beri anotasi pada fungsi async, dan gunakan nilai yang telah ditunggu dengan aman. Kamu berlatih TypeScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai TypeScript Academy?

Tidak diperlukan pengalaman sebelumnya. TypeScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 3.

Berapa lama pelajaran “Promise<T>, pengetikan async/await” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran TypeScript Academy ini?

Ya. Setiap pelajaran TypeScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Promise , pengetikan async/await
  2. Pengetikan kesalahan (unknown), penyempitan dalam catch
  3. Pola konkurensi (all/settled/race) dan tipenya
← Kembali ke TypeScript Academy