Maksim
Как ещё можно передать Лиле колбек если не вызвать метод либы с ним
bogdan
Ребят добрий день а кто знает как можно получить return из setinterval
Low
можно более подробное описание задачи?
bogdan
а можеш чуть подробней написать
bogdan
что если я сделаю глобальную переменную и закину в нее значение с сет интервала ето ерунда получиться?
bogdan
у меня есть 3 числа которие должни сделать круг от 0 до 9 и после етого круга каждое число должно остановиться на определенной цифре первое остановиться на 1 второе на 2 третее на 3 и я питаюсь им написать один общий интервал
Nikita
а разобрался. было не просто проблема то в чем?
bogdan
крутг от 0 до 9 ето цикл добавляет в число 1 пока она не достигнет 9 потом начинаеться новий круг и он должен остановиться на определнной цифре
bogdan
да типа етого
bogdan
bogdan
вот мне нужно как то num получать
Anonymous
Господа, что я делаю тут так и не так? Оно работает, но сомневаюсь что это не говнокод. https://hastebin.com/torepawudi.js
Max xbim 🌴
почитай про sql injections
Anonymous
почитай про sql injections
На счет этого понятно, буду юзать prepared quotes . А что по самому коду?
Max xbim 🌴
если у тебя async функция то почему там дальше колбек
Max xbim 🌴
да
Max xbim 🌴
ну и последний context send почему не в колбеке
bogdan
Обернуть в промис?
а можеш маленький пример скинуть
Anonymous
Просто оно вроде работает, но такое прям сильно чувство что говнокод, а оно вот так.
bogdan
Обернуть в промис?
если не сложно
Denis
а можеш маленький пример скинуть
А какая задача конкретно?
bogdan
крутг от 0 до 9 ето цикл добавляет в число 1 пока она не достигнет 9 потом начинаеться новий круг и он должен остановиться на определнной цифре
bogdan
есть 3 разних числа
bogdan
и я питаюсь написать для них один цикл чтоб не говнокодить
Denis
Зачем интервал?
bogdan
Зачем интервал?
а как по другому
bogdan
Зачем интервал?
я уже начал пробовать через рекурсию делать
Denis
Я не понял. Покажи числа
bogdan
bogdan
они дожни каждие 100 мс добавлять 1
bogdan
пройти 1 круг от 0 до 9
Denis
Ааа
bogdan
а потом остановиться на определенном значении
bogdan
но у каждой цифри значение разное
bogdan
и я питаюсь написать интервал которий будет общим для всех
bogdan
чтоб передавать туда число на котором число должно остановиться
bogdan
есть идеи?
Anonymous
есть идеи?
что ты делаешь?
bogdan
что ты делаешь?
прочти више я уже задолбался описивать свою задачу
Anonymous
ясно
Anonymous
ща
Лосось
Виндоус
Anonymous
прочти више я уже задолбался описивать свою задачу
const goFun = (objValue, stop, msec, callbackTick, callbackStop) => { const iid = setInterval(() => { objValue.value++; if ( objValue.value >= 10 ) { objValue.value = 0; } callbackTick(objValue.value); if ( objValue.value === stop ) { clearInterval(iid); callbackStop(objValue.value); } }, msec); }
Anonymous
let a = {value: 0}; goFun(a, 7, 100, console.log, console.log)
Anonymous
Виндоус
завидуешь?
Anonymous
Denis
const interval = 100 const digits = [5, 6, 7].forEach((digit) => { for (let i = 0; i < digit; i += 1) { setTimeout(() => { el.innerHTML = i }, interval * i) } }
Anonymous
если у тебя async функция то почему там дальше колбек
А вот сейчас оно адекватно выглядит? https://pastebin.com/zxK7mxwV
Anonymous
Давно прогаешь?
-, оч. мало. Но мне нужно было чет вроде код-ревью, поэтому тут спросил
Anonymous
Давно прогаешь?
А что, настолько всего плохо?
Лосось
А что, настолько всего плохо?
Ну все начинающие пишут как умеют, сам таким был. Год в продакшене и тоже научишься норм писать
Anonymous
Ну все начинающие пишут как умеют, сам таким был. Год в продакшене и тоже научишься норм писать
Понял. А в коде выше в чем проблема сейчас? Просто не врубаю вообще
Anonymous
Оно то работает, но вот как бы лучше это сделать я без понятия
Max xbim 🌴
const queryAsync = util.promisify(connection.query) const result = await queryAsync(checkRequest)
Max xbim 🌴
я бы как то так сделал
Denis
Подгон есть
Max xbim 🌴
если еще не особо шариш в промисах просто убери async await
Max xbim 🌴
ну и if (err) {console.log(err); return;}
Лосось
Понял. А в коде выше в чем проблема сейчас? Просто не врубаю вообще
1) откажись от колбеков, пользуйся промисами. 2) попробуй вместо консольного логера winston 3) старайся не делать код с else 4) посмотри нормальный клиент к бд и посмотри как им пользоваться, поверь его не глупые люди писали. 5) поставь линтер и претиер, все на это смотрят 6) делай чистые функции 7) пиши юнит тесты
Maksim
я что-то такое имел в виду: https://goo.gl/1jc83R
Там ничего нет, по крайней мере с телефона
Evgeniy 🍀
Maksim
safari не может в длинные url(
Хром тоже, может там не сохранилось?
Evgeniy 🍀
Хром тоже, может там не сохранилось?
//predefined promise, will be resolved in two seconds const P1 = new Promise(curryN(3, setTimeout)(__, 1000, "p1 is ready")); const resolver = resolve => (resolver.promiseHandler = resolve); const resolvable = new Promise(resolver); const readyCallback = curry((resolver, isReady) => resolver(isReady))( resolver.promiseHandler ); const conf = { readyCallback }; someWeirdShitWhichWillBeSomewhenExecuted(conf); //do some magic when weird shit happens (() => Promise.all([P1, resolvable]).then( curryN(2, console.log)("Promise.all results:") ))(); //black box -- we don't have access to it function someWeirdShitWhichWillBeSomewhenExecuted(config) { // nuclear missles fired setTimeout(conf.readyCallback, 3000, "nuclear missles fired"); }
Maksim
Чет тяжело с телефона
Denis
Лосось
Мне просто претиер код руинил часто, но думаю это поправимо в конфигах.
https://github.com/sqreen/awesome-nodejs-projects посмотри как люди делают, это полезная тема