Używam „fs” do zapisu do pliku. Proces zapisu przebiega gładko, a plik jest tworzony tak, jak chciałem, ale zmienna „err” zwraca null. Zakładam, że to „zero” oznacza brak błędów, ale chciałem się upewnić.
Czy posiadanie „null” z err w funkcji fs.writeLine oznacza, że nie ma błędów?
Odpowiedzi:
2 dla odpowiedzi № 1Czy posiadanie „null” z err w funkcji fs.writeFile oznacza, że nie ma błędów?
Tak.
Konwencja asynchronicznych wywołań nodejs używana w prawie wszystkich asynchronicznych wywołaniach zwrotnych w nodejs polega na przekazaniu dwóch parametrów do wywołania zwrotnego. Pierwszy to err
wartość i, jeśli tak jest null
(lub naprawdę dowolna wartość falsey), wtedy nie ma błędu, a wynik asynchroniczny znajduje się w drugim parametrze (jeśli istnieje wartość wyniku).
Gdyby err
nie jest falsey, to reprezentuje wartość błędu.
Jest to często nazywane konwencją asynchronicznego wywoływania nodejs i jest używane w tonie funkcji nodejs.
Oto artykuł referencyjny, który to wyjaśnia / potwierdza: Jakie są konwencje błędów?.
Bo fs.writeFile()
ma tylko warunek błędu / powodzenia i nie ma żadnego innego wyniku, jak zwykle fs.writeFile()
jest jak to:
fs.writeFile("someFile", someData, function(err) {
if (err) {
// there was an error
console.log(err);
} else {
// data written successfully
console.log("file written successfully");
}
});