@fon_harry

JavaScript как синхронный код запустить асинхронно?

Хочу прочитать два файла синхронным методом. Но выполнить это асинхронно. Файлы разного размера, что отражено в названиях. Это нужно для понятия как работает асинхронные вызовы. Но у меня не получается.

let fs = require('fs')

function read (file, callback) {
  fs.readFileSync(file, 'utf8')
  setTimeout(() => {
    callback(file)
  }, 0)
}

console.log('start')

read('big.txt', (result) => {
  console.log('file', result)
})

read('small.txt', (result) => {
  console.log('file', result)
})

console.log('end')


Результат:

start
end
file big.txt
file small.txt
  • Вопрос задан
  • 637 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Interface
function read (file, callback) {
  const result = fs.readFileSync(file, 'utf8')
  setTimeout(() => {
    // обычно первым аргументом у callback'ов ошибка или null если все ок
    callback(null, result)
  }, 0)
}

попробуйте так
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект