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) 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) [] ну какого хуя оно не становится равным значению, пиздец, я питонист если че, там все намного лучше с этим
function setValue(value) { someVar.push(value); } JS function setValue(value) { someVar.push(value); }
FUKKDABROKE, 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') 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')
WickedFace, вообще вот для чего использую, но нихуя не работает 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) ); 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) );
WickedFace, захожу по localhost:5000/petya/ не существует такой, как мне придать роуту динамичный путь, который будет определяться в зависимости результата sql
У тебя connection.query асинхронно выполняется. Ты выводишь переменную, когда еще асинхронная функция не была завершена
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) } Код 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) }
FUKKDABROKE, бля чел если ты не смог за день осилить две статьи по промисам на learnjavascript, то ты сам понимаешь...
caedes, лирнжаваскрипт в душе не ебу что этого до этого момента, твое решение правильное, но при этом когда я пытаюсь заусунуть в роуты эти значения, какого то хуя не работает. app.use( `/${someVar[0]}`, express.static(publicFolderName) ); Cannot GET /petya/ JS app.use( `/${someVar[0]}`, express.static(publicFolderName) ); Cannot GET /petya/
caedes, 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) ); 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) );
caedes, а как сделать чтобы оно ... я ж не могу app.use куда то засунуть и в него тоже, покажи как надо
Код не работает так, как ожидается, потому что функция 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'); Код 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');
caedes, по статьям делал, вот по опыту по питону, иногда статьи лютая хуйня говнокодская, но выбирать не приходится, потому что познаний в жс 0.1%, щас попробую без статика, вроде было написано, что static нужен, чтобы передавать файл
Статик чтобы передавать статичные файлы, главную страницу, например. Если ты из бд что-то тянешь, то обычный get запрос принимаешь
caedes, вот ебучий чат гпт и статьи мне не смогли помочь, потому что тут уже индивидуальный человеческий фактор, потому что я даже не мог задать вопрос потому что механику языка не понимаю
caedes, но теперь вопрос в том, как к @app.route('/') прибавить еще значение из бд чтобы получилось @app.route('/ktme'), например, это типо защита от кт гугла или яндекса