CodeBlanks Logo Icon CodeBlanks

fs.promises

fs.promises ile async dosya işlemlerini öğrenirsin.

fs.promises nedir?

Node.js'te dosya işlemleri için fs modülü kullanılır. Asenkron işlemler için fs.promises alt nesnesi tercih edilir; buradaki yöntemler Promise döndürür ve await ile kullanılabilir.

import fs from 'fs/promises';
const data = await fs.readFile('notes.txt', 'utf8');

Burada fs/promises doğrudan Promise tabanlı yöntemleri verir. Eski fs modülü callback tabanlıdır; yeni kodlarda fs/promises önerilir. readFile, writeFile, appendFile en sık kullanılan yöntemlerdir.

import ve await

fs/promises modülünü import ile içe aktarırsın. ES modules ortamında await'i doğrudan modülün en üst düzeyinde kullanabilirsin; aksi halde bir async işlev içine alman gerekir.

import fs from 'fs/promises';

async function run() {
  const data = await fs.readFile('notes.txt', 'utf8');
  console.log(data);
}
run();

Burada run async işlevi readFile'ı bekler ve içeriği yazdırır. 'utf8' parametresi sonuçun dize olarak dönmesini sağlar; verilmezse Buffer döner.

Uygulama Sıra sende: fs.promises ile yaz

import fs from 'fs/promises' ile modülü içe aktar. Bir async function run() tanımla. İşlev içinde await fs.writeFile('hello.txt', 'merhaba') ile dosyaya yaz. console.log('yazıldı') ile mesaj yazdır. run() çağır.

Başlangıç kodu

index.js
// fs/promises modülünü içe aktar
// async function run tanımla
// await fs.writeFile ile yaz, console.log ile yazdır
// run'u çağır

Örnek çözüm

index.js
import fs from 'fs/promises';

async function run() {
  await fs.writeFile('hello.txt', 'merhaba');
  console.log('yazıldı');
}
run();

Beklenen çıktı

yazıldı

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 fs/promises neden eski fs modülüne tercih edilir?

  • Promise döndürdüğü için await ile kullanılabilir Doğru cevap
  • Daha az bellek tükettiği için
  • Daha hızlı çalıştığı için
  • Zorunlu olduğu için

Açıklama: Promise tabanlı yapı await ile düz akış sağlar.

2 Boşluğu doldur: import fs

Soru
____ fs from 'fs/promises';
Cevap
import fs from 'fs/promises';

Açıklama: import ile fs/promises içe aktarılır.

3 fs/promises parçaları

Kavram Anlamı
import modülü içe aktarır
fs/promises Promise tabanlı fs
await sonuçu bekler

Başlangıç bölümündeki tüm dersler