Size: a a a

Node.js — русскоговорящее сообщество

2020 October 02

S

Stork in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Не понял этого аргумента. А что мешает для ноды транспилить отдельно?
Изначально юзаю ноду и тестю с помощью mocha и браузер хочу использовать как граф интерфейс.
источник

S

Stork in Node.js — русскоговорящее сообщество
The Fallen Phoenix
При этом есть два пути:
1) Оставить для браузера в виде модуля и импортировать где надо
2) Собрать бабелем и/или вебпаком, чтобы сделать доступным как глобальный объект.
Вот например либа date-fns собирается как для работы в браузере так и ноде
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
А че Мока разучилась грузить все что попало (через транспиллеры те же)
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Stork
Вот например либа date-fns собирается как для работы в браузере так и ноде
Вот гляньте ее package.json
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Вероятно и там проблема, я не утверждал ничего про Java. Это ваш пример, и вам его обосновывать надо.
На Java есть wowza, кодирует 50+ видеопотоков на одном ядре без проблем
источник

Ж

Жека in Node.js — русскоговорящее сообщество
народ помогите разобраться как правильно сделать
задача в асинхронной функции послать запросы в цикле и дождаться ответа и только потом вернуть результат попытался сам изобразить но кажется что то у меня не правильно работает, на каждую иттерацию в цикле в консоль падает на одно сообщение больше
async function getClasters(resp) {
var it=resp.EP;
for (const item of it){
  dataRequest(resp.Addr , item);
  await new Promise(resolve => {
   appEvent.on('Response', (data) => {
    console.log("prishlo:",data);
    resolve(data);});
   
  })
}    

return("///////////end//////////////////////");
}

getClasters(resp).then(resp => console.log(resp));
источник

S

S in Node.js — русскоговорящее сообщество
Жека
народ помогите разобраться как правильно сделать
задача в асинхронной функции послать запросы в цикле и дождаться ответа и только потом вернуть результат попытался сам изобразить но кажется что то у меня не правильно работает, на каждую иттерацию в цикле в консоль падает на одно сообщение больше
async function getClasters(resp) {
var it=resp.EP;
for (const item of it){
  dataRequest(resp.Addr , item);
  await new Promise(resolve => {
   appEvent.on('Response', (data) => {
    console.log("prishlo:",data);
    resolve(data);});
   
  })
}    

return("///////////end//////////////////////");
}

getClasters(resp).then(resp => console.log(resp));
await Promise.all(it.map(funcname))
funcname ф-ия возвращающая промис
источник

S

S in Node.js — русскоговорящее сообщество
S
await Promise.all(it.map(funcname))
funcname ф-ия возвращающая промис
async function funcname(p) ....
источник

Ж

Жека in Node.js — русскоговорящее сообщество
S
await Promise.all(it.map(funcname))
funcname ф-ия возвращающая промис
а если я все в Promise.all засуну я смогу по таймауту потом ошибку вернуть если что?
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
Жека
а если я все в Promise.all засуну я смогу по таймауту потом ошибку вернуть если что?
таймер ты запустить в принципе можешь перед вызовов Promise.all - но вот только остановить выполнение всего того, что ты в промисах вызвал не сможешь
источник

Ж

Жека in Node.js — русскоговорящее сообщество
и еще не маловажный момент каждая итерация должна идти только после завершения первой
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
Жека
и еще не маловажный момент каждая итерация должна идти только после завершения первой
тогда Promise.all тебе не нужны, а нужно:
await func1()
await func2()
источник

ТК

Таймураз Кайтмазов... in Node.js — русскоговорящее сообщество
The Fallen Phoenix
В качестве игрушечного примера предлагаю изучить pako при различных нагрузках --- это purejs порт zlib для работы с архивами gzip в браузере. Он работает и в ноде. Возьмите bgzip и посчитайте за сколько блок считается. При потоковом разжатии периодически будет существенно большее время на обработку блока для одного или двух соседних блоков
Чел, на so разработчик в8 говорит, как работает сборка мусора, что ты затираешь?
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Riclud
Последний раз когда я экспериментировал с воркерами и забрал у винды все ядра, у меня сначала все проги начали ошибками сыпать, а потом вообще черный экран, даже ctrl+alt+del не работал
а адблок в хроме вообще пришлось переустанавливать
Эм, нет.
Можно хоть 100, хоть 1000 потоков занять на машине с 4 ядрами, ничего не упадет.
У меня на ноуте норма, когда есть 2-3к потоков.
ОС умеет в многозадачность, мы без про Лем запускаем больше приложений, чем у нас ядер.

Если у вас все упала от этого ОС - это у вас где беда.

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

S

S in Node.js — русскоговорящее сообщество
Жека
и еще не маловажный момент каждая итерация должна идти только после завершения первой
for await (const res of promises)  возможно подойдёт для твоей задачи
источник

L

Loljeene in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
Эм, нет.
Можно хоть 100, хоть 1000 потоков занять на машине с 4 ядрами, ничего не упадет.
У меня на ноуте норма, когда есть 2-3к потоков.
ОС умеет в многозадачность, мы без про Лем запускаем больше приложений, чем у нас ядер.

Если у вас все упала от этого ОС - это у вас где беда.

Не делают больше потоков в приложении, чем ядер, потому что обычно смысла нет, они все равно не будут одновременно работать полноценно
Не делают больше потоков в приложении, чем ядер, потому что обычно смысла нет
Есть, если мы говорим не про асинхронщину и у нас в этих потоках есть i/o
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Loljeene
Не делают больше потоков в приложении, чем ядер, потому что обычно смысла нет
Есть, если мы говорим не про асинхронщину и у нас в этих потоках есть i/o
Как раз наоборот, если поток всегда занят, то зачем ещё один. Разве что есть большие вычислительные операции - тогда да, его можно в ещё один поток, чтобы сделать операцию асинхронной.

А вот в синхронных системах делают потоков больше, вплоть до процесс/поток на каждый запрос отдельно
источник

L

Loljeene in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
Как раз наоборот, если поток всегда занят, то зачем ещё один. Разве что есть большие вычислительные операции - тогда да, его можно в ещё один поток, чтобы сделать операцию асинхронной.

А вот в синхронных системах делают потоков больше, вплоть до процесс/поток на каждый запрос отдельно
Вы кажется меня не так поняли. Я как раз и написал то же самое.
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Loljeene
Вы кажется меня не так поняли. Я как раз и написал то же самое.
А, да, не так прочитал.
Ну, мы в рамках nodejs обсуждаем)
источник

I,

If you can do it bet... in Node.js — русскоговорящее сообщество
какие же классные админы в групах. Спрашываешь если можно публиковать такую вакансию. место того чтобы просто сказали НЕТ сразу в бан капец классные админы
источник