Menu
CoddyTech

Использование результата callback-функции

Часть раздела Основы Node.js путешествия по Node.js на Coddy. Урок 17 из 33.

Чтение файла может завершиться уже после того, как следующая строка вашей программы выполнилась. Функция обратного вызова — это функция, которую передают другой функции для последующего вызова. readFile вызывает вашу функцию, когда файл готов. Сначала она передаёт ошибку, а затем текст файла.

readFile('greeting.txt', 'utf8', (err, text) => {
    if (err) return;
    console.log(text);
});

Поместите работу, для которой нужен текст, внутрь этой функции. За её пределами текст ещё не получен. В стартовом коде уже есть импорт и ветка обработки ошибки; сосредоточьтесь на использовании успешно полученного результата.

challenge icon

Задание

Легко

Сначала запусти practice.js. Возникает ошибка, потому что к моменту выполнения последней строки значение text ещё не определено: чтение файла не завершилось.

Перенеси работу, для которой нужен текст файла, туда, где чтение уже завершилось. Выведи содержимое в верхнем регистре, сохранив ветку обработки ошибки. Удали внешнюю переменную text, когда она больше не нужна. Если аргумент не указан, ожидается BUY MILK. Если указан other.txt, ожидается CALL ADA.

Попробуйте сами

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());

Все уроки раздела Основы Node.js

Потренируйтесь самостоятельно: Песочница Express