Народ, где лучше использовать промиссы, а не колбек?
app.use('/', (req, res) => res.status(404).send({ message: 'Запрашиваемый ресурс не найден' }));
router.get('/', (req, res) => {
readerFunction(usersPath, res).on('open', () => {
res.writeHead(200, { 'Content-type': 'application/json; charset=utf-8' });
readerFunction(usersPath, res).pipe(res);
});
});
router.get('/:id', ((req, res) => {
readerFunction(usersPath, res).on('open', () => {
const users = jsonParse(usersPath);
const user = users.find((item) => item._id === req.params.id);
if (!user) res.status(404).send({ message: 'Нет пользователя с таким id' });
res.send(user);
});
}));
const readerFunction = (fileName, res) => {
const reader = fs.createReadStream(fileName, { encoding: 'utf8' });
reader.on('error', () => {
res.status(500).json({ error: 'На сервере произошла ошибка' });
});
return reader;
};
const jsonParse = (fileName) => JSON.parse(fs.readFileSync(fileName, { encoding: 'utf8' }));