Как я могу вставить логику в app.get () node.js / Express? - PullRequest
0 голосов
/ 23 октября 2018

Я использую сервер node.js с экспрессом.Моему серверу нужно выполнить некоторые операции, такие как анализ файла журнала, распаковка ipAddresses и преобразование их в координаты с использованием внешнего API.Эти координаты используются для отображения карты Google на моей странице html / ejs.

Мне бы хотелось, чтобы после запуска / обновления главной страницы с использованием ("/") карты, вызова всех этих операций иотображать координаты через рынок внутри карты.

Так что моя идея была

    app.get("/" , function(req,res){
    parsingLog();
    res.render("homepage.ejs")
    })

Где parsingLog () является первой функцией, а остальные объединяются внутри этой функции.В конце цикла я получаю массив объектов с координатами для передачи в javascript-интерфейс для отображения карты.Но с кодом внутри app.get код выполняется, но безрезультатно.Если я запускаю код без app.get, я получаю все правильные результаты.Я не понимаю, в чем проблема, к сожалению, это мои первые серьезные шаги в node.js / express.Спасибо всем, кто мне поможет

1 Ответ

0 голосов
/ 24 октября 2018
app.get('/', (req, res)=> {
  const log = parsingLog();
  res.send(log)
})

Это экспресс-точка.Любой запрос GET к главной странице '/' вызовет эту функцию.

HTTP - это веб-протокол, основанный на ответе на запрос. Это означает, что вы генерируете запрос GET, и сервер (узел / Express в вашем случае) должен будет отправитьответ клиенту.

Ваша функция возвращает только строку res.render ('stringhere').Если вы хотите прикрепить результаты своей функции обратно к ответу и отправить его обратно клиенту, вам нужно добавить результаты в res.send, поскольку это практически единственное место, где вы переносите данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...