Menu
CoddyTech

İki Bağımsız Okuma

Coddy'nin Node.js Journey'sinin Node.js Temelleri bölümünün bir parçası. Ders 24 / 33.

İki okumadan hiçbiri diğerinin sonucuna ihtiyaç duymuyorsa ikisi aynı anda başlatılabilir. Promise.all, bu promise’ları alır ve sonuçlardan oluşan bir dizi için tek bir promise döndürür. Bu diziyi bir kez await edin.

const [name, city] = await Promise.all([
    readFile('name.txt', 'utf8'),
    readFile('city.txt', 'utf8'),
]);

İkinci okuma daha önce tamamlansa bile ilk sonuç ilk promise’a aittir. Köşeli parantezler, iki sonucu ayrı değişkenlere atar. Okumalardan biri başarısız olursa birleştirilmiş promise reddedilir. Bir işlem önceki sonuca ihtiyaç duyuyorsa ayrı await ifadeleri kullanın.

Sağlanan alıştırma okuyucusu, diğer okuma başlatılmadan önce await edilen bir okumayı reddeder. Çok erken beklemeyi görünür kılar; yürütme hızını ölçmez.

challenge icon

Görev

Kolay

Bu küçük bir alıştırma projesidir. Kurulumu sağlanmıştır; yalnızca practice.js dosyasını düzenle.

note.txt ve owner.txt dosyalarını Promise.all ile oku. Sonuçları kullanarak Ada: Buy milk yazdır. Girdi dizisinde önce note yer alsın. Çalıştır düğmesi node practice.js komutunu yürütür.

İçe aktarılan okuyucuyu kullan. Beklemeden önce her iki okumayı da başlat; bu alıştırma okuyucusu sıralı await işlemlerini bilerek reddeder.

Sağlanan noteFile ve ownerFile değerlerini kullan. other-note.txt other-owner.txt ile çalıştır: Bo: Walk bekle.

Kendin dene

import { readFile } from './reader.js';
const [noteFile = 'note.txt', ownerFile = 'owner.txt'] = process.argv.slice(2);
const note = '';
const owner = '';
console.log(owner + ': ' + note);

Node.js Temelleri bölümündeki tüm dersler

Kendi başına pratik yap: Express playground