#node.js #asynchronous #filesystems #fs
Вопрос:
Я могу читать файлы, используя файловую систему nodejs:
const fs = require('fs');
fs.readFile('./assets/test1.txt', (err, data) => {
if(err){
console.log(err)
}
console.log(data.toString())
})
console.log('hello shawn!')
Зачем console.log('hello shawn!')
сначала читать, а затем читать console.log(data.toString())
?
Есть ли какие-либо другие вещи в файловой системе data
, которые сначала читаются, а затем читаются ниже console
?
Ответ №1:
Это потому .readFile
, что это асинхронная операция. Его последним параметром является функция обратного вызова, которая запускается после завершения операции. Я рекомендую прочитать что-нибудь об обратных вызовах и цикле событий.
Вы можете использовать синхронную версию функции readFileSync
или использовать utils.promisify
для преобразования функции обратного вызова в promise и использовать async / await, а затем пример.