Использование цикла for в Express Router (node.js) - PullRequest
2 голосов
/ 02 октября 2019

Я пытаюсь использовать для цикла, как это. Но я не получаю 'console.log (i)' в своем терминале, пока я получаю 'console.log (req.body)' правильно. Пожалуйста, помогите.

const express = require("express");
const router = new express.Router();

router.post("/basic", async (req, res) => {
  try {
    res.send(req.body);
    console.log(req.body)

    for (let i=0; i < 5, i++; ) {
      console.log(i);
    }

  } catch (e) {
    res.status(400).send(e);
  }
});

module.exports = router;

Ответы [ 2 ]

2 голосов
/ 02 октября 2019

Как вы объявляете переменную let i;имеет значение undefined;Таким образом, в javascript есть 2 типа undefined:

Вы можете получить undefined, когда переменная не была определена (не существует), и вторая переменная существует, но значение равно undefined переменная существует.

следующая в for операция следует за i < 5 (undefined < 5), равным false, и выходит из цикла for, поэтому вы не получаете вывод console.log.

Самое простое решение, предложенное @Rap Sherlock let i = 0;

После редактирования:

В коде есть другая опечатка:

for (let i=0; i < 5, i++; ) { // should be

// need to use ; instead of ,
for (let i = 0; i < 5; i++) {
  console.log(i);
}
0 голосов
/ 02 октября 2019

«i» не определено, потому что вы не инициализировали его значение.

Попробуйте

for(let i = 0; i< 5; i++){
   //your code
}

Обратите внимание на let i = 0;

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