Пишу приложение на Node.js. В целом, все работает так, как надо. Но иногда Node.js как бы засыпает и не отвечает на запросы. Запускаю его через powerShell "node имя_файла.js" (в cmd то же самое). Если открыть powerShell и нажать ctrl+z во время того, как Node.js "cпит", то оно отвечает на запрос и дальше работает, как надо. Проблемы возникают только с post-запросами. Вот сам код:
let express = require("express");
let bodyParser = require("body-parser");
let app = express();
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
app.use(express.static(__dirname + "/public"));
/*Constants*/
let masters = require("./constants/masters").masters;
let users = require("./constants/users").users;
let times = require("./constants/times").times;
let places = require("./constants/places").places;
let locations = require("./constants/locations").locations;
/*Array to store records*/
let userRecords = [];
app.use(function (req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'POST,GET');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});
app.get('/account', function (req, res) {
console.log("/account requested");
let infoForRecord = {
masters, times, places
};
res.send(infoForRecord);
});
app.get('/locations', function (req, res) {
console.log("/main_page requested");
res.send(locations);
});
app.post('/records', function (req, res) {
if ((!req.body) || (!req.query)) {
return res.sendStatus(400)
}
console.log("/records requested");
let {username, id, time, place, master} = req.query;
userRecords.push({username, id, time, place, master});
console.log(userRecords);
res.send(JSON.stringify({status: "ok"}));
});
app.post('/authenticate', function (req, res) {
if ((!req.body) || (!req.query)) {
return res.sendStatus(400)
}
console.log("/authenticate requested");
let found = false;
for (let user of users) {
if ((user.username === req.query.username) &&
(user.password === req.query.password)) {
found = true;
break;
}
}
found ? res.send(JSON.stringify({status: "ok"})) : res.send(JSON.stringify({status: "not_found"}));
});
app.listen(3000, function () {
console.log('App listening on port 3000!');
});
Эта проблема с Node.js или с ОС, которая может усыпить процесс?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Уже как 30 минут изучаю vuejs, полных примеров довольно мало на просторах интернета, поэтому решил поинтересоваться тут
есть таблица, в ней поле ( текстовое! те
Есть рекламный вестникМного жалоб приходит о том что изображения долго загружается