@nodejs_ru

Страница 777 из 2748
Сергей
21.05.2017
14:26:57
кто-нибудь юзал TypeORM?

Sasha
21.05.2017
14:39:02
ребят, а вот как перебирать массив синхронно? чтобы действия над элементом сделались, а потом уже шел следующий элемент?)

Mikhail
21.05.2017
14:42:08
Sasha
21.05.2017
14:42:28
спасибо!

Google
Sasha
21.05.2017
14:43:53
Mikhail
21.05.2017
14:45:25
а потом Promise.all на массив промисов применить?
Нет. Через for так же перебирайте

Eugeniy
21.05.2017
14:51:59
Подскажите а как лучше тестировать api с сокетами?

Vladimir
21.05.2017
14:52:28
Подключиться и тетстировать

Eugeniy
21.05.2017
14:58:11
А все, кажется разобрался, глупый вопрос был

Andrew
21.05.2017
15:51:15
Классный материал почитать :) https://medium.com/@peterchang_82818/node-security-authentication-javascript-tutorial-example-session-brute-force-rainbow-table-crack-hijack-3b6c56ee938c

Rafael
21.05.2017
15:56:47
Ну нет же, исользуйте сеты. Сеты рулят.
Я где-то посмотрел, что в js set`ы сделаны через списки и это отбило у меня любое желание их использовать

Vladimir
21.05.2017
15:58:12
> @Fl0pZz Я где-то посмотрел, что в js set`ы сделаны через списки и это отбило у меня любое желание их использовать Ну это же очевидный бред

Rafael
21.05.2017
16:02:15
Я конечно могу спутать ч полифилом

Ivan
21.05.2017
16:02:50
Сделаны через хеш-таблицу

Vladimir
21.05.2017
16:02:58
Вот по фасту, можешь это опровергнуть?
Это очевидно - это деталь реализации и она не может относиться к языку

Google
Vladimir
21.05.2017
16:03:27
Можно преположить что в какой то из реализаций сделано через списики - я уверен что это не так

Rafael
21.05.2017
16:04:54
Да, мои сомнения развеяны?

Андрей
21.05.2017
16:15:54
Всем привет, как можно скачать excel файл с сайта к себе на сервер?

Вячеслав
21.05.2017
16:18:02
Да легко. Переходить через браузер по ссылке на excel файл.

Можешь с помощью скрипта выкачать, если ссылка по get не доступна.

Андрей
21.05.2017
16:25:20
А по подробнее можно?

Sasha
21.05.2017
16:37:22
появился еще один вопрос, который мучает меня и не дает покоя. В общем, вопрос следующий: for(let i = 0; i < readyData.length; i++) { let req = readyData[i]; req.then(answ => { console.log(`done.`); }); } так вот, выполняется ли этот перебор синхронно? (как я вижу - нет) Потому что в промисе у меня происходит коннект к БД и производится действие с ней MongoClient.connect(url, (err, db) => { //... db.close(); }); Как видно из вышеприведенного кусочка, в конце я закрываю соединение вручную (мало ли). Проблема в том, что после 200+ элемента (случайно, так как доходило и до 364 эл-та) база возвращает ошибку: ... 'collection' of null.

Anatoliy Skuratov
21.05.2017
16:44:35
А почему ты не резолвишь промисы в readyData через Promise.all??

Sasha
21.05.2017
16:50:33
anoru
21.05.2017
16:53:36
@rmnff https://stackoverflow.com/questions/37576685/using-async-await-with-a-foreach-loop прочти популярный ответ

arts
21.05.2017
17:01:11
const promises = [ () => new Promise(...), () => new Promise(...), ... ]; function next(i = 0) { promises[i]().then(() => next(i + 1)); } next(); Можно так, например.

Пашок
21.05.2017
17:01:56
Жуть какая

Никита
21.05.2017
17:02:24
@artsdvatri А ошибки?

arts
21.05.2017
17:04:31
@artsdvatri А ошибки?
А в гит за него не запушить? :-) я показал направление

Andrew
21.05.2017
17:04:37
часто ли на ноде пишут с использованием функций генераторов? Я чет помучился с промисами и перешел на них

Google
Никита
21.05.2017
17:05:12
А в гит за него не запушить? :-) я показал направление
плохо показал, имхо. ты асинхронно атачишь хендлеры к уже запущенным промисам

А, стоп, так твой код вообще нерабочий.

Evgeny
21.05.2017
17:05:56
генераторы проще промисов? ват?!
Ну логично. Промисы только обещали что-то, а генераторы сразу генерят код

Andrew
21.05.2017
17:05:59
генераторы проще промисов? ват?!
не то что проще, просто читаемость кода как последовательного

Никита
21.05.2017
17:06:08
Ты вызываешь уже созданные и запущенные промисы как функции.

Никита
21.05.2017
17:06:17
Это херота какая-то.

Сергей
21.05.2017
17:06:26
это как раз таки намного проще генераторов

Никита
21.05.2017
17:06:33
А, нет, я туплю.

Сергей
21.05.2017
17:06:36
выглядит абсолютно синхъронно

Никита
21.05.2017
17:06:42
Стоп, да, это я туплю, простите.

Не заметил () =>

Сергей
21.05.2017
17:07:08
(бля, отвечайте на сообщение, не пойму в каком треде участвую)

Никита
21.05.2017
17:07:15
Тогда это вообще синхронная штука и я не понимаю, зачем так в принципе делать.

Andrew
21.05.2017
17:07:19
)))

Сергей
21.05.2017
17:08:11
Никита
21.05.2017
17:08:23
const promises = [ () => new Promise(...), () => new Promise(...), ... ]; function next(i = 0) { promises[i]().then(() => next(i + 1)); } next(); Можно так, например.
Вместо этого можно сделать цикл обычный и заэвейтить их. А если надо параллельно (как я подумал) — то кидаем всё в Promise.all

Google
Andrew
21.05.2017
17:08:47
что не часто?
функции генераторы

Сергей
21.05.2017
17:09:06
функции генераторы
не вижу смысла их юзать для ожидания результата

они вообще не для этого

Andrew
21.05.2017
17:10:47
Сергей
21.05.2017
17:13:14
для генерации?)))

для ленивых вычислений

хотя не могу придумать кейс для генераторов, когда есть промисы

Admin
ERROR: S client not available

Сергей
21.05.2017
17:13:43
вот вообще

Andrew
21.05.2017
17:14:07
зачем-то же их решили добавить в js?

Evgeny
21.05.2017
17:14:12
Фибоначчи пока не надоест

Сергей
21.05.2017
17:14:43
зачем-то же их решили добавить в js?
так и были примеры использования

но промисы и асинки решают управление

Vladimir
21.05.2017
17:15:14
Генераторы в основном существуют именно для корутин

Другие кейсы их использовния гораздо реже

Сергей
21.05.2017
17:16:18
да как-то... хз

ни разу не видел эффективного их использования

та же koa, ушла от генераторов к асинкам

Vladimir
21.05.2017
17:16:56
Теперь когда есть асинки - да

Но например на генераторах можно сделать отмену корутины

Google
Vladimir
21.05.2017
17:17:36
Если кому надо

Andrew
21.05.2017
17:18:22
библиотека redux-saga полностью построена на генераторах, предполагается что писать тесты проще

Сергей
21.05.2017
17:27:54
а без библиотек, можно на генераторах что-то полезное написать?

Andrew
21.05.2017
17:28:45
хз, пытаюсь вспомнить

Сергей
21.05.2017
17:29:48
сейчас гуглю, ничего не нахожу

Дмитрий
21.05.2017
17:32:53
Я на асинхронных генераторах писал реализацию сильно разветвленного алгоритма, в котором требовался постоянный обмен данными между корутинами

Andrew
21.05.2017
17:34:29
одно видео нашел https://www.youtube.com/watch?v=lil4YCCXRYc еще одно было где-то в закладках

Дмитрий
21.05.2017
17:35:15
Vladimir
21.05.2017
17:35:48
Ну на асинках то такое тоже можно сделать

Вот пример с сагой хороший

Дмитрий
21.05.2017
17:47:06
Да в принципе много вариантов, но async генераторы там смотрелись логичнее всего — многоступенчатый процесс с циклами , отменами и возвратами, распределенный между несколькими корутинами, каждая имеет довольно приличное количество входов и выходов, с логическими развилками в зависимости от результата. Переписал просто async функции на них когда надоело в каждую атомарную функцию заново прокидывать контекст Если бы можно было при этом делать yield* то было бы ещё проще

Ну короче что то типа саги, да, только без либ

Andrew
21.05.2017
17:54:33
интересный опыт. Я просто постоянно работаю с сагой, поэтому в ноду решил запихать ‘co’ и везде писать yield. Плюс в mongoose примеры через yield

Никита
21.05.2017
18:27:31
Про зстд кто-нибудь слышал?

Только что наткнулся: https://github.com/redox-os/tfs/issues/40

Sasha
21.05.2017
19:58:48
как это возможно? this.deleteTrade = (tradeID) => { return new Promise((resolve, reject) => { MongoClient.connect(this.url, (err, db) => { if(err || db == null) { reject('Failed to connect to DB. Try again later'); } db.collection('trades', {}, (err, trades) => { trades.remove({ _id: tradeID }, (err, result) => { if(err) { reject(err); } resolve(result); }); }); db.close(); }); }); } выдает ругань на строчку db.collection('trades', {}, (err, trades) => { вот такую: TypeError: Cannot read property 'collection' of null

Никита
21.05.2017
20:05:36
режект молодец, а из функции ретурн кто будет делать?

режект не кидает исключения там, и у тебя остаток функции после режекта выполняется жеж

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