Загрузка...

Хелп ребята, весь мозг изъебал

Тема в разделе Node.js создана пользователем FUKKDABROKE 11 май 2023. 402 просмотра

  1. FUKKDABROKE
    FUKKDABROKE Автор темы 11 май 2023 Заблокирован(а) 11 14 янв 2018
    JS
    var someVar = [];



    function setValue(value) {

    someVar += value;

    }



    function getLogin(userLogin) {



    const result = connection.query('SELECT * FROM users WHERE login = ?', [userLogin], function (

    err,

    rows,

    ) {

    if (err) throw err;

    setValue(rows[0].login)

    }); // set the value of nik to the nickname of the retrieved user



    }



    getLogin('petya')



    console.log(someVar)
    хуйня выводит: (0) []
    ну какого хуя оно не становится равным значению, пиздец, я питонист если че, там все намного лучше с этим
     
    11 май 2023 Изменено
    1. Darkness
  2. Zabiakha
    Zabiakha 11 май 2023 Full 163 25 янв 2023
    тут все просто, получится 10
     
  3. 924527
  4. caedes
    caedes 11 май 2023 Faded 201 2 дек 2019
    А нахуй ты прибавляешь к массиву? somevar.push(value) мб?
     
  5. НеРОКЕР
  6. WickedFace
    WickedFace 11 май 2023 83 24 окт 2022
    JS
    function setValue(value) {

    someVar.push(value);

    }
     
    1. Посмотреть предыдущие комментарии (11)
    2. WickedFace
      FUKKDABROKE,
      JS
      var someVar = [];



      function setValue(value) {

      someVar.push(value);


      console.log(someVar[0]);
      }



      function getLogin(userLogin) {



      const result = connection.query('SELECT * FROM users WHERE login = ?', [userLogin], function (

      err,

      rows,

      ) {

      if (err) throw err;

      setValue(rows[0].login)

      }); // set the value of nik to the nickname of the retrieved user



      }



      getLogin('petya')
    3. FUKKDABROKE Автор темы
      WickedFace, вообще вот для чего использую, но нихуя не работает
      JS
      var someVar = [];

      function setValue(value) {

      someVar.push(value);

      }

      function getLogin(userLogin) {

      const result = connection.query('SELECT * FROM users WHERE login = ?', [userLogin], function (
      err,
      rows,
      ) {
      if (err) throw err;
      setValue(rows[0].login)
      }); // set the value of nik to the nickname of the retrieved user

      }

      app.use(compression());

      getLogin('petya')

      app.use(
      '/' + someVar[0],
      express.static(publicFolderName)
      );
    4. FUKKDABROKE Автор темы
      WickedFace, захожу по localhost:5000/petya/ не существует такой, как мне придать роуту динамичный путь, который будет определяться в зависимости результата sql
  7. caedes
    caedes 11 май 2023 Faded 201 2 дек 2019
    У тебя connection.query асинхронно выполняется. Ты выводишь переменную, когда еще асинхронная функция не была завершена
     
    1. Посмотреть предыдущие комментарии (6)
    2. caedes
      FUKKDABROKE,
      Код
      const someVar = [];



      function setValue(value) {

      someVar.push(value);

      }



      function getLogin(userLogin) {



      return new Promise(r => {
      const result = connection.query('SELECT * FROM users WHERE login = ?', [userLogin], function (
      err,
      rows,

      ) {
      if (err) throw err;
      r(rows[0].login)
      });
      })
      // set the value of nik to the nickname of the retrieved user



      }

      main()
      async function main(){

      const login = await getLogin('petya')

      setValue(login)
      console.log(someVar)
      }
    3. caedes
      FUKKDABROKE, бля чел если ты не смог за день осилить две статьи по промисам на learnjavascript, то ты сам понимаешь...
    4. FUKKDABROKE Автор темы
      caedes, лирнжаваскрипт в душе не ебу что этого до этого момента, твое решение правильное, но при этом когда я пытаюсь заусунуть в роуты эти значения, какого то хуя не работает.

      JS
      app.use(
      `/${someVar[0]}`,
      express.static(publicFolderName)
      );

      Cannot GET /petya/
  8. caedes
    caedes 11 май 2023 Faded 201 2 дек 2019
    Куда ты там суешь? Полный кусок кода скинь
     
    1. Посмотреть предыдущие комментарии (2)
    2. FUKKDABROKE Автор темы
      caedes, app.use для server.js для node.js
    3. caedes
      FUKKDABROKE, да я вижу этот кусок кода. Ты где мидлварь вызываешь?
    4. FUKKDABROKE Автор темы
      caedes,
      JS
      var someVar = [];

      function setValue(value) {

      someVar.push(value);

      }

      function getLogin(userLogin) {

      return new Promise(r => {
      const result = connection.query('SELECT * FROM users WHERE login = ?', [userLogin], function (
      err,
      rows,

      ) {
      if (err) throw err;
      r(rows[0].login)
      });
      })
      // set the value of nik to the nickname of the retrieved user
      }

      async function main(){

      const login = await getLogin('petya')

      setValue(login)
      console.log(someVar[0])
      }

      app.use(compression());

      main()

      app.use(
      `/${someVar[0]}`,
      express.static(publicFolderName)
      );
  9. caedes
    caedes 11 май 2023 Faded 201 2 дек 2019
    У тебя main опять асинхронно вызывается, оно просто дальше по коду идет не дожидаясь окончания:solevoi:
     
    1. FUKKDABROKE Автор темы
      caedes, а как сделать чтобы оно ... я ж не могу app.use куда то засунуть и в него тоже, покажи как надо
  10. retargetted
    retargetted 11 май 2023 Заблокирован(а) 59 21 янв 2022
    Код не работает так, как ожидается, потому что функция setValue() пытается добавить значение к массиву someVar, который изначально пуст. Для добавления значения к массиву следует использовать метод push().
    Кроме того, функция getLogin() выполняет асинхронный запрос к базе данных, поэтому вывод результата в консоль должен происходить после завершения запроса.
    Исправленный код:



    Код
    var someVar = [];



    function setValue(value) {

    someVar.push(value);

    }



    function getLogin(userLogin) {

    const result = connection.query('SELECT * FROM users WHERE login = ?', [userLogin], function (err, rows) {

    if (err) throw err;

    setValue(rows[0].login);

    console.log(someVar); // выведем результат после завершения запроса

    });

    }



    getLogin('petya');
     
    11 май 2023 Изменено
    1. FUKKDABROKE Автор темы
      retargetted, это да, я уже понял, но вопрос теперь в другом
    2. retargetted
    3. FUKKDABROKE Автор темы
  11. caedes
    caedes 11 май 2023 Faded 201 2 дек 2019
    А зачем ты вобще static используешь? Просто отдавать в обычном get запросе нельзя?
     
    1. FUKKDABROKE Автор темы
      caedes, по статьям делал, вот по опыту по питону, иногда статьи лютая хуйня говнокодская, но выбирать не приходится, потому что познаний в жс 0.1%, щас попробую без статика, вроде было написано, что static нужен, чтобы передавать файл
  12. caedes
    caedes 11 май 2023 Faded 201 2 дек 2019
    Статик чтобы передавать статичные файлы, главную страницу, например. Если ты из бд что-то тянешь, то обычный get запрос принимаешь
     
    1. Посмотреть предыдущие комментарии (10)
    2. FUKKDABROKE Автор темы
      caedes, вот ебучий чат гпт и статьи мне не смогли помочь, потому что тут уже индивидуальный человеческий фактор, потому что я даже не мог задать вопрос потому что механику языка не понимаю
    3. FUKKDABROKE Автор темы
    4. caedes
  13. caedes
    caedes 11 май 2023 Faded 201 2 дек 2019
    Приятного погружения в мир джаваскрипта:peka:
     
    1. Посмотреть предыдущие комментарии (1)
    2. FUKKDABROKE Автор темы
      caedes, но теперь вопрос в том, как к @app.route('/') прибавить еще значение из бд чтобы получилось @app.route('/ktme'), например, это типо защита от кт гугла или яндекса
    3. FUKKDABROKE Автор темы
      caedes, и это все на жс надо, на питоне то 5 секунд
    4. caedes
Загрузка...
Top