@nodejs_ru

Страница 1386 из 2748
Erving
12.12.2017
09:19:31
.

как вы встраиваете код в сообщения?

Nikita
12.12.2017
09:21:08


Eliajah
12.12.2017
09:25:01
как вы встраиваете код в сообщения?
3 вот одинарныз скобки с каждой стороны ' '''''''

Google
Michael ?
12.12.2017
09:26:30
А чего там в сокетах такого учить нужно?
Да хотя бы разобраться как они работают и как их поднять - уже +1 полезный навык

Erving
12.12.2017
09:41:11
сокеты простые, вот воркеры - интересная тема, не особо обсуждающаяся, но полезная. хотя один хрен на собесах меня валят сортировками)

Anton
12.12.2017
10:06:18
Илья
12.12.2017
10:09:43
Как вернуть переменную из NodeJS в JS? У меня модуль верификации он отправляет токен на NodeJS потом этот токен меняется на новый токен и этот новый токен надо вернуть обратно на страницу JS.

Erving
12.12.2017
10:12:06
друзья, прошу вас подсказать, в чем ошибка. код тривиальный, но ведет себя странно. let updArr = []; for (let i=0; i<cache.length; i++){ db.collection("news").find({title: cache[i].title}).toArray((err, res)=>{ if (res.length > 0) { updArr.push(cache[i]); } console.log(updArr); }) } console.log(updArr.length); if (updArr.length == 1){ console.log("OK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); db.collection("news").insertOne(updArr[0], function(err, res) { if (err) throw err; console.log("Number of documents inserted: " + res.insertedCount); }); } else if (updArr.length > 1){ console.log("OK2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); db.collection("news").insertMany(updArr, function(err, res) { if (err) throw err; console.log("Number of documents inserted: " + res.insertedCount); }); } updArr - непустой массив объектов, это видно в стандартном выводе updArr.length тем не менее всегда равно нулю соответственно, флагов "ок1" и "ок2" я в стандартном выводе не вижу. с чем это могло бы быть связано?

Den
12.12.2017
10:13:33
можно гист?

Nikolay
12.12.2017
10:14:01
Дядь, тебе вот самому такое приятно читать?



Den
12.12.2017
10:15:51
Надо в описание паблика сделать правило не кидать простыню, а что то типа гист или подобное

Nikolay
12.12.2017
10:17:25
По сабжу: может, проблема в том, что операции — асинхронные, а длину массива ты проверяешь на текущем тике?

Google
1nd2rd3st
12.12.2017
10:20:01
Надо в описание паблика сделать правило не кидать простыню, а что то типа гист или подобное
Не поможет, их никто не читает. Это должен быть бот, который в личку поприветствует и расскажет что к чему

Erving
12.12.2017
10:29:15
можно гист?
https://gist.github.com/VadimInshakov/8af7e6a8c48f58adad99a3f71e762c5b

Nikolay
12.12.2017
10:30:46
https://gist.github.com/VadimInshakov/8af7e6a8c48f58adad99a3f71e762c5b
Так, и в чем твой вопрос? Что вообще происходит в этом коде, и чего ты хочешь добиться?

Erving
12.12.2017
10:31:23
По сабжу: может, проблема в том, что операции — асинхронные, а длину массива ты проверяешь на текущем тике?
не совсем понимаю, простите. там всё последовательно должно выполниться

Erving
12.12.2017
10:32:18
Nikolay
12.12.2017
10:32:38
> в updArr есть объекты неа, нету

Залогируй его на последней строчке.

Не внутри хендлера, а в самом-самом конце твоего кода :)

Таймураз
12.12.2017
10:33:15
OK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Nikolay
12.12.2017
10:33:33
Таймураз
12.12.2017
10:34:48
в updArr есть объекты. почему updArr.length равен нулю?
db.collection("news").find({title: cache[i].title}) Вот это означает "сделай запрос в базу с подобными условиями". Оно добавится во внутреннюю очередь ноды. Ответ ты получишь внутри функции-колбека (err, res) => {...}

Данные в массив придут сильно позже окончания цикла Разве что у тебя запросов в базу не 1000+

Erving
12.12.2017
10:38:04
ага...

Michael ?
12.12.2017
10:38:27
Тебе нужен массив промисов и Promise.all

Erving
12.12.2017
10:38:58
Данные в массив придут сильно позже окончания цикла Разве что у тебя запросов в базу не 1000+
спасибо за пояснение, я думал, это всё последовательно выполнится

Google
Таймураз
12.12.2017
10:40:46
спасибо за пояснение, я думал, это всё последовательно выполнится
Все же не мешало бы язык подучить, прежде чем писать что-то

Erving
12.12.2017
10:42:37
Таймураз
12.12.2017
10:43:28
а как же практика?) или в чат не писать?
Спрашивать можно Теория тоже важна, настолько же, насколько и практика

Erving
12.12.2017
10:44:09
Спрашивать можно Теория тоже важна, настолько же, насколько и практика
по мере возникновения проблем и узнаю о пробелах в понимании

Таймураз
12.12.2017
10:44:19
Программирование- это искусство пользования знанием

енот
12.12.2017
10:50:45
а не гуглом?

Michael ?
12.12.2017
10:53:06
Стаковерфлоу

Таймураз
12.12.2017
10:59:07
а не гуглом?
Это и имел ввиду

arts
12.12.2017
11:11:59
а не гуглом?
Не сказано ведь, чьим знанием.

Maxim
12.12.2017
11:39:46
Всем привет! Подскажите а как можно обновить полностью локальные пакеты? Например был монгодб 2.Х.Х, а стал 3.0.0

Eldar
12.12.2017
11:43:55
Сначала перекрестившись

Vsevolod
12.12.2017
11:44:12
есть либо npm-check-updates

Dima
12.12.2017
13:23:36
Есть кто может написать, настроить сервер? Сколько стоимость?

Michael ?
12.12.2017
13:24:45
Написать и настроить могут тут многие, стоимость зависит от сложности, разумеется

Олег
12.12.2017
13:29:35
Maxim
12.12.2017
14:19:37
Народ, а подскажите пожалуйста в чем может быть причина? Строка добавления метода administratorSchema.methods.comparePassword = (password, callback) => bcrypt.compare(password, this.password, callback); Строка вызова метода admin.comparePassword(password, (error, res) => { … }); в самом методе this = undefined и bcrypt.compare ругается, что нет пароля

в чем может быть?

нашел проблем

проблему*

если расписать administratorSchema.methods.comparePassword = (password, callback) => bcrypt.compare(password, this.password, callback); как стандартную функцию, то все нормально работает. Почему такое может быть?

Google
Eldar
12.12.2017
14:41:12
Что значит как стандартную функцию? oO

Ты две одинаковых строчки написал вроде

Очевидно что () => {} перебивает контекст this у тебя

Maxim
12.12.2017
14:42:27
administratorSchema.methods.comparePassword = (password, callback) => bcrypt.compare(password, this.password, callback); переписать как administratorSchema.methods.comparePassword = function(password, callback) { bcrypt.compare(password, this.password, callback); };

Eldar
12.12.2017
14:42:51
Стрелочная функция перебивает контекст, и внутри нее this ссылается не на administratorSchema

Yaroslav
12.12.2017
14:42:53
у меня такое было тоже)

Admin
ERROR: S client not available

Maxim
12.12.2017
14:43:23
а можно использовать стрелочные функции не теряя контекст this?

Eldar
12.12.2017
14:43:52
Можно например не использовать стрелочные функции

Или ссылаться не на this

Maxim
12.12.2017
14:44:21
а ну хорошо )

спасибо)

Eldar
12.12.2017
15:01:08
Забыл, есть еще вариант вызывать функцию через .call / .apply привязывая контекст находу *__*

Morsik
12.12.2017
15:01:28
у них нет своего this

Eldar
12.12.2017
15:01:36
Да, со стрелочными беда

Remite
12.12.2017
15:01:56
Стрелочная функция получает зис родителя

Eldar
12.12.2017
15:02:31
Она получает контекст где была создана скорее оО

Google
Remite
12.12.2017
15:03:00
ну да, кто породил на того и ссылается

Eldar
12.12.2017
15:03:00
Создав стрелочную функцию для метода класса, но объявляя ее вне класса, ты потеряешь контекст, разве нет?

Radim
12.12.2017
15:03:24
нельзя просто сохранить var self=this?

Eldar
12.12.2017
15:03:40
Можно, если у функции будет видимость self в итоге ;D

Eldar
12.12.2017
15:04:07
Разные ситуации бывают )

Remite
12.12.2017
15:04:21
Если у вас полноценная функция то используйте function, а стрелочные функции предназначены немножко для другого :)

Eldar
12.12.2017
15:04:22
Тащемта не мой код, я только рассуждаю

Remite
12.12.2017
15:04:33
Разные ситуации бывают )
Вот не надо так :))

Eldar
12.12.2017
15:04:56
А если тебе прототип расширить надо? oO

У всех экземляров класса

Remite
12.12.2017
15:05:15
И Вы там будете использовать стрелочную функцию?

Илья
12.12.2017
15:20:04
function getData(url) { var result = request.get(url, function (error, response, body) { console.log('error:', error); // Print the error if one occurred console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received console.log('body:', body); // Print the HTML for the Google homepage. return JSON.parse(body)._items[0].civicId; }); //return... };

Типичный вопрос, но я никак не могу найти ответ.

Как вернуть return из локальной анонимной ф-и?

Morsik
12.12.2017
15:21:59
никак

сделай колбек

или верни промис

Илья
12.12.2017
15:22:18
пытался все записать в переменную но там жесть какая то

Страница 1386 из 2748