Korzystanie z wyniku funkcji zwrotnej
Część sekcji Podstawy Node.js ścieżki Node.js w Coddy. Lekcja 17 z 33.
Odczyt pliku może zakończyć się po tym, jak wykona się już następna linia programu. Funkcja zwrotna to funkcja przekazana innej funkcji do późniejszego wywołania. readFile wywołuje Twoją funkcję, gdy plik jest gotowy. Najpierw przekazuje błąd, a następnie tekst pliku.
readFile('greeting.txt', 'utf8', (err, text) => {
if (err) return;
console.log(text);
});Umieść w tej funkcji działania, które wymagają tekstu. Poza nią tekst jeszcze nie dotarł. Kod początkowy zawiera import i gałąź obsługi błędu; skup się na użyciu wyniku, gdy operacja się powiedzie.
Wyzwanie
ŁatwyNajpierw uruchom practice.js. Wystąpi błąd, ponieważ w chwili wykonania ostatniej linii text nadal ma wartość undefined; odczyt pliku jeszcze się nie zakończył.
Przenieś operacje wymagające tekstu z pliku do miejsca, w którym odczyt się zakończył. Wyświetl zawartość wielkimi literami, zachowując gałąź obsługującą błąd. Usuń zewnętrzną zmienną text, gdy nie będzie już potrzebna. Bez argumentu oczekuj BUY MILK. Z argumentem other.txt oczekuj CALL ADA.
Spróbuj swoich sił
import { readFile } from 'node:fs';
const file = process.argv[2] ?? 'note.txt';
let text;
readFile(file, 'utf8', (err, contents) => {
if (err) return;
text = contents;
});
console.log(text.toUpperCase());
Wszystkie lekcje w sekcji Podstawy Node.js
1Uruchamianie JavaScript w Node
Witaj, NodeOdczytywanie poleceniaArgumenty wiersza poleceńPolecenia4Asynchroniczny Node
Korzystanie z wyniku funkcji zwrotnejFunkcje zwrotneWynik PromiseGdy Promise zawiedziePromiseOczekiwanie na wartośćAsync i AwaitDwa niezależne odczytyPromise.allPętla zdarzeńTimery5Zdarzenia, dane wejściowe i pakiety
Nasłuchuj przed emisjąEmitery zdarzeńOdczytywanie danych wejściowychPoćwicz samodzielnie: Edytor online Express