alexdeg
@alexdeg
Новатор

Почему нет присваивания данных в nodejs?

var express = require('express');
var fs = require('fs');
var app = express();

app.get('/', function (req, res) {
    let json = {};

    fs.readFile('user.json', function (err, data) {
        json += data.toString();
    });

    res.json(json);
});

app.listen(8000, function () {
    console.log('Server Run!');
});


Почему не присваиваются данные из потока и как сделать чтобы присваивалось? Через стримы?
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
0xD34F
@0xD34F
Метод readFile - асинхронный. Вместо

let json = {};

fs.readFile('user.json', function (err, data) {
    json += data.toString();
});

res.json(json);

делайте так:

fs.readFile('user.json', function (err, data) {
  res.json(data.toString());
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы