
Alexander
07.06.2018
07:54:41
хочется добиться удобства работы хотя бы на уровне потоков. PCM из ws конвертируется в readableStream, pcm из мр3 тоже в формате потока. пытался прикрутить audio api с браузера, но там другой формат потоков и получается дорого конвертировать их налету

Tsimashenka
07.06.2018
08:53:28
Ребята ктонить юзет SocketCluster на мульти ядрах или хостах ?

Sergey
07.06.2018
09:14:53
Всем привет, вопрос опытным пользователям nodejs. Из опыта работы с nodejs сформировался фунддамент кода, с которого вы начинаете новые проекты? Или какие-то решения, которые можно приравнить к стандартным при возникновении определенных проблем? С пояснениями конечно же. Заранее благодарю!

Roman
07.06.2018
09:15:51

Google

Morsik
07.06.2018
09:18:17

Roman
07.06.2018
09:19:06

Dimanius851
07.06.2018
09:26:41
как так может быть что react-player недавно скачивался 20к в неделю, а сейчас 0?
https://www.npmjs.com/package/react-player
а, это что то вообще все пакеты полетели, у всех 0

Jack
07.06.2018
09:27:44
Да, уже 4 дня заметил такое. Думал только у меня

Morsik
07.06.2018
09:31:34
Это социальный эксперимент
Смогут ли джсеры сами выбирать пакеты

Dimanius851
07.06.2018
09:31:43
-

Jack
07.06.2018
09:32:11
Ребят как получить file object из file path в ноде ? локально

Alex
07.06.2018
09:46:47
Чем можно статистику скрипта отслеживать?
Мол, сколько cpu/mem он есть в определенный промежуток времени

Yurii
07.06.2018
09:56:57

Alex
07.06.2018
10:38:34
А что, в ноде трай-кечи как-то иначе работают?
try {
soneFunction()
} catch (e) {}
не поймало ошибку в функции

Cenator
07.06.2018
10:39:36

Alex
07.06.2018
10:39:51

Google

Alex
07.06.2018
10:40:17
Где-то в функции идет обращение к несуществующему полю в объекте
А трай-кетч не ловит это

Владимир
07.06.2018
10:41:10
someFunction не асинхронная часом?

Alex
07.06.2018
10:41:27
А, блин
'The JavaScript try / catch mechanism cannot be used to intercept errors generated by asynchronous APIs. A common mistake for beginners is to try to use throw inside an error-first callback'
Понял
Это интересно
Уже не просто callback hell
А какой-то try-catch callback hell
Ибо стОлько проверок придется добавлять

Владимир
07.06.2018
10:43:18

Alexander
07.06.2018
10:43:42
если там на промисах, то поможет .catch()

Alex
07.06.2018
10:43:46
Там асунк в асунке асунком подгоняет)

Alexander
07.06.2018
10:43:56
а если там колбечина, то можешь сделать promisify

Alex
07.06.2018
10:44:44

Александр
07.06.2018
12:33:13
народ, а если синхронное чтение файла "fs.readFileSync" находится внутри async функции, оно же не будет блокировать другие действия?

Alexander
07.06.2018
12:33:24
будет конечно
просто ты заблокируешь не этот луп, а следующий

Александр
07.06.2018
12:36:48
ну а если чтение файла идет по запросу app.get(чето там), внутри async и внутри fs.readFileSync, запросы от других юзеров нормально будут обрабатываться, не прийдется ждать окончания чтения файла для предидущего запроса? или все-таки прийдется?

Alexander
07.06.2018
12:37:22
пока ты будешь читать файл - ты не примешь запрос от другого человека

Александр
07.06.2018
12:38:38
ладно, спасибо, значит допилю еще одну функцию с промисом
а еще вопрос, fs.existsSync бысро работает? ну вплане не сильно он заблочит поток? так как просто fs.exists сейчас deprecated

Alexander
07.06.2018
12:45:48
Написано в доке
И чем же тебя асинхронные методы не устраивают?

Google

Jack
07.06.2018
12:46:24
ребят как тут получить A во втором промисе. Дать глобальную переменную ?
promise.then(A => {
...
return anotherPromise()
}).then(B => {
// A ?
})

Alex
07.06.2018
12:46:28
зачем смешивать асинк ссинком?

Alexander
07.06.2018
12:46:50
И тогда ты получишь замыкание с А

Jack
07.06.2018
12:47:25
тогда каша промисов будет. promise hell

Cenator
07.06.2018
12:47:26

Alexander
07.06.2018
12:48:08

Cenator
07.06.2018
12:48:09
const A = await promise()
const B = await another()
B(A)

Alexander
07.06.2018
12:48:24
Черт, опять эвэйты
Ну хотя они тут будут ок, да

Jack
07.06.2018
12:49:36
Promise.all последовательно ?

Alexander
07.06.2018
12:50:26
Ну вообще promise hell здесь куда применимее. Или эвэйт, как написали лучше

Jack
07.06.2018
12:50:42
ну ок. с Promise.all работает. думал есть более элегантное решение

Александр
07.06.2018
12:50:47
И чем же тебя асинхронные методы не устраивают?
та устраивают, просто сейчас при запросе нужно много всяких действий с файлами и директориями сделать, синхронно как-то удобней) ну да ладно, запилю еще несколько промисов и на await повешу

Alexander
07.06.2018
12:51:19

Cenator
07.06.2018
12:53:04

Jack
07.06.2018
12:54:28
просто error handling не нравится мне в асинках

Roman
07.06.2018
12:54:40
можно же вот так делать)
.map(async item => await item)

Dika
07.06.2018
12:55:02

Google

Александр
07.06.2018
12:55:03

Alexander
07.06.2018
12:55:38
тем паче

Jack
07.06.2018
12:56:10

Alexander
07.06.2018
12:56:10
асинки это же те же промисы под капотом

Jack
07.06.2018
12:56:39

Alexander
07.06.2018
12:57:09

Jack
07.06.2018
12:57:43
тогда 7 catch -ов снова

Alexander
07.06.2018
12:57:58
или
try {
promise.catch(e => {if (err.serious) throw (e)})
} catch (seriousError) {
…
}

Cenator
07.06.2018
12:58:15

Alexander
07.06.2018
12:58:30
то есть обрабатываешь мелочь в .catch(). если ошибка серьезная, то выбрасываешь ее в общий catch

Roman
07.06.2018
12:58:43

Jack
07.06.2018
12:58:59
Ну реализация в go отличная. я видел как это делать руками, но было лень, а вот есть либа оказывается/

Cenator
07.06.2018
12:59:42
чо нет, если да
он не будет ждать выполнения, если посмотреть то там будет promise pending а потом сменится на resolved

Dika
07.06.2018
12:59:43

Erving
07.06.2018
13:02:46
господа, может кто-нибудь подсказать насчет git?

Alexander
07.06.2018
13:02:56
классная штука, советую

Cenator
07.06.2018
13:03:04
@git_ru

Dika
07.06.2018
13:03:18
Советую Mercurial

Erving
07.06.2018
13:03:33

Google

Yaroslav
07.06.2018
13:03:51
рили?)

Cenator
07.06.2018
13:03:57

Erving
07.06.2018
13:03:57
блин, я про конфликты хотел спросить, а вы шутите)

Dika
07.06.2018
13:04:12

Yaroslav
07.06.2018
13:04:18

Roman
07.06.2018
13:04:18

Cenator
07.06.2018
13:04:22

Jack
07.06.2018
13:09:22
а можно делать самовызывающуюсю async функцию ?

Roman
07.06.2018
13:09:33

Cenator
07.06.2018
13:09:45

Alexander
07.06.2018
13:10:01
потому что асинк сила промис могила

Jack
07.06.2018
13:10:25
это же уродство

Alexander
07.06.2018
13:10:51
ну (async () => {})()
но зачем

Jack
07.06.2018
13:11:56
как зачем. в коде есть момент где должен работать этот асинк код.

Alexander
07.06.2018
13:12:12
асинк сам по себе?