@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
  • Вопрос задан
  • 632 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Interface
function read (file, callback) {
  const result = fs.readFileSync(file, 'utf8')
  setTimeout(() => {
    // обычно первым аргументом у callback'ов ошибка или null если все ок
    callback(null, result)
  }, 0)
}

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

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 23:00
5000 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект