Warning: mkdir(): No space left on device in /var/www/hottg/post.php on line 59

Warning: file_put_contents(aCache/aDaily/2025-07-18/post/we_use_js/--): Failed to open stream: No such file or directory in /var/www/hottg/post.php on line 72
👩‍💻 Задачка по NodeJS @Node.JS [ru] | Серверный JavaScript
TG Telegram Group & Channel
Node.JS [ru] | Серверный JavaScript | United States America (US)
Create: Update:

👩‍💻 Задачка по NodeJS

Создайте приложение на Node.js, которое кэширует данные с ограничением по времени. Когда кэш истекает, данные должны автоматически обновляться из внешнего источника (например, из API) при следующем запросе.

➡️ Пример:

node app.js fetch — получает данные из кэша, а если кэш истек, то запрашивает данные заново и обновляет кэш.

Решение задачи ⬇️

const fs = require('fs');
const path = require('path');
const fetch = require('node-fetch');

const cacheFile = path.join(__dirname, 'cache.json');
const CACHE_TTL = 60 * 1000; // 1 минута

// Функция для обновления кэша
async function updateCache() {
const data = await fetch('
https://api.example.com/data').then(res => res.json());
const cacheData = { data, timestamp:
Date.now() };
fs.writeFileSync(cacheFile, JSON.stringify(cacheData));
return data;
}

// Функция для получения данных из кэша
async function fetchData() {
if (fs.existsSync(cacheFile)) {
const cache = JSON.parse(fs.readFileSync(cacheFile, 'utf8'));
const isCacheValid =
Date.now() - cache.timestamp < CACHE_TTL;

if (isCacheValid) {
console.log('Данные из кэша:',
cache.data);
return
cache.data;
}
}
console.log('Обновление кэша...');
return await updateCache();
}

// Проверка кэша
fetchData().then(data => console.log('Полученные данные:', data));

👩‍💻 Задачка по NodeJS

Создайте приложение на Node.js, которое кэширует данные с ограничением по времени. Когда кэш истекает, данные должны автоматически обновляться из внешнего источника (например, из API) при следующем запросе.

➡️ Пример:

node app.js fetch — получает данные из кэша, а если кэш истек, то запрашивает данные заново и обновляет кэш.

Решение задачи ⬇️

const fs = require('fs');
const path = require('path');
const fetch = require('node-fetch');

const cacheFile = path.join(__dirname, 'cache.json');
const CACHE_TTL = 60 * 1000; // 1 минута

// Функция для обновления кэша
async function updateCache() {
const data = await fetch('
https://api.example.com/data').then(res => res.json());
const cacheData = { data, timestamp:
Date.now() };
fs.writeFileSync(cacheFile, JSON.stringify(cacheData));
return data;
}

// Функция для получения данных из кэша
async function fetchData() {
if (fs.existsSync(cacheFile)) {
const cache = JSON.parse(fs.readFileSync(cacheFile, 'utf8'));
const isCacheValid =
Date.now() - cache.timestamp < CACHE_TTL;

if (isCacheValid) {
console.log('Данные из кэша:',
cache.data);
return
cache.data;
}
}
console.log('Обновление кэша...');
return await updateCache();
}

// Проверка кэша
fetchData().then(data => console.log('Полученные данные:', data));
Please open Telegram to view this post
VIEW IN TELEGRAM
👎4👍21🔥1


>>Click here to continue<<

Node.JS [ru] | Серверный JavaScript




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)


Warning: Undefined array key 3 in /var/www/hottg/function.php on line 115

Fatal error: Uncaught mysqli_sql_exception: Can't create/write to file '/tmp/#sql-temptable-a06e-4c5a24-1856.MAI' (Errcode: 28 "No space left on device") in /var/www/hottg/function.php:216 Stack trace: #0 /var/www/hottg/function.php(216): mysqli_query() #1 /var/www/hottg/function.php(115): select() #2 /var/www/hottg/post.php(351): daCache() #3 /var/www/hottg/route.php(63): include_once('...') #4 {main} thrown in /var/www/hottg/function.php on line 216