Я работаю над веб-приложением с Node и Express и хочу отображать контент из разных JSON файлов. Некоторые из них содержат статическое c содержимое, такое как заголовки и метки столбцов для таблиц. Некоторые содержат пользовательские данные, которые могут динамически изменяться. Во-первых, я сделал две разные функции для чтения файлов JSON:
const readStaticData = filePath => {
fs.readFile(filePath, 'utf-8', (err, staticData) => {
if (err) throw err;
JSON.parse(staticData);
});
};
и это для динамических c данных:
const readData = filePath => new Promise((resolve, reject) => {
fs.readFile(filePath, (err, fileData) => {
if (err) {
reject(err);
return;
}
try {
const object = JSON.parse(fileData);
resolve(object);
} catch(err) {
reject(err);
}
});
});
И вот как мой router.get () выглядит так:
router.get('/', (req, res) => {
Promise.all([
readData('./JSON/dynamicData1.json'),
readData('./JSON/dynamicData2.json')
])
.then((data) => {
res.render('home',
{
dynamicData1: data[0],
dynamicData2: data[1]
}
);
})
.catch((err) => {
console.log(err);
res.status(500).end();
});
});
Итак, у меня есть функция рендеринга внутри Promise, и я застрял, как я могу также включить содержимое stati c. Где я могу разместить свои функции readStaticData('./JSON/staticData1.json'); readStaticData('./JSON/staticData2.json');
для рендеринга? Они не зависят напрямую от содержимого Dynami c, например, заголовок всегда должен присутствовать независимо от того, есть данные пользователя или нет.
Надеюсь, я не упускаю важную информацию, это мой первый вопрос. . И еще я новичок в программировании. Если бы кто-то мог помочь, заранее большое спасибо!