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
- Promise , pengetikan async/await
- Pengetikan kesalahan (unknown), penyempitan dalam catch
- Pola konkurensi (all/settled/race) dan tipenya