Я использую 'fs' для записи в файл. Процесс записи идет гладко, и файл создается так, как я хотел, но переменная "err" возвращает значение null. Я предполагаю, что это "нуль" указывает на отсутствие ошибок, но я хотел быть уверенным.
Имеет ли значение "null" от err в функции fs.writeLine означает, что ошибок нет?
Имеет ли значение "null" от err в функции fs.writeFile означает, что ошибок нет?
Да.
Соглашение асинхронного вызова nodejs, которое используется почти для всех асинхронных обратных вызовов в nodejs, состоит в передаче двух параметров для обратного вызова. Первое - это значение err
и, если оно равно null
(или действительно какое-либо значение false), тогда нет ошибки, а асинхронный результат во втором параметре (если есть значение результата).
Если err
не является ложным, тогда он представляет собой значение ошибки.
Это часто называют асинхронным вызовом nodejs и используется в тонне функций nodejs.
Вот ссылка, которая объясняет/подтверждает это: Каковы соглашения об ошибках? ,
Поскольку fs.writeFile()
имеет только условие ошибки/успеха и не имеет другого результата, обычный способ использования fs.writeFile()
выглядит так:
fs.writeFile('someFile', someData, function(err) {
if (err) {
// there was an error
console.log(err);
} else {
// data written successfully
console.log("file written successfully");
}
});