Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 October 23

O

Oleg Val' in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
Если Q бросит курить, то станет O
Если штаны наденет
источник

D

DevAgent in NodeUA - JavaScript and Node.js in Ukraine
Всем привет, на собесе спросили как выполняется promise.all, я ответил, что конкурентно, мне ответили мол неправильно: "параллельно ".  Кто прав?)
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
DevAgent
Всем привет, на собесе спросили как выполняется promise.all, я ответил, что конкурентно, мне ответили мол неправильно: "параллельно ".  Кто прав?)
В такой постановке - ты
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
DevAgent
Всем привет, на собесе спросили как выполняется promise.all, я ответил, что конкурентно, мне ответили мол неправильно: "параллельно ".  Кто прав?)
Как по мне, то вопрос не совсем правильный. Промис олл никакого отношения к "параллельному" и к "конкурентному". Промис олл просто возвращает промис, который либо выполнится, когда выполнятся все, либо реджектнится, когда реджектнится один из них.
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
function logPromise(msg) {
 console.log(`Promise ${msg}`)
 return Promise.resolve(msg).then(x => {
   console.log(`Promise ${msg} resolved`)
   return x
 })
}

;(async () => {
 const promises = []
 promises.push(logPromise(0))
 setTimeout(() => {
   promises.push(logPromise(1))
   setTimeout(() => {
     promises.push(logPromise(2))
     setTimeout(async () => {
       promises.push(logPromise(3))
       await Promise.all(promises)
       console.log('Parallel?')
     }, 1000)
   }, 1000)
 }, 1000)
})()
источник

VS

Valentyn Stepovenko in NodeUA - JavaScript and Node.js in Ukraine
DevAgent
Всем привет, на собесе спросили как выполняется promise.all, я ответил, что конкурентно, мне ответили мол неправильно: "параллельно ".  Кто прав?)
конкурентно это Promise.race()
источник

D

DevAgent in NodeUA - JavaScript and Node.js in Ukraine
Да, но он ожидает первый выполненный промис, который станет его резалтом, а остальные проигнорятся. Тут вопрос ещё в том  существует ли в рамках одного потока понятие "параллельно "?
источник

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
А нода под капотом не однопоточна
источник

D

DevAgent in NodeUA - JavaScript and Node.js in Ukraine
Безусловно, но потоки которые предоставляет нам libuv, не хендлят сетевые I/O.
источник

D

DevAgent in NodeUA - JavaScript and Node.js in Ukraine
The event loop follows the rather usual single threaded asynchronous I/O approach: all (network) I/O is performed on non-blocking sockets which are polled using the best mechanism available on the given platform: epoll on Linux, kqueue on OSX and other BSDs, event ports on SunOS and IOCP on Windows.
источник

D

DevAgent in NodeUA - JavaScript and Node.js in Ukraine
libuv currently uses a global thread pool on which all loops can queue work. 3 types of operations are currently run on this pool:
• File system operations
• DNS functions (getaddrinfo and getnameinfo)
• User specified code via uv_queue_work()
источник

D

DevAgent in NodeUA - JavaScript and Node.js in Ukraine
Согласно докам libuv

http://docs.libuv.org/en/v1.x/design.html
источник

D

DevAgent in NodeUA - JavaScript and Node.js in Ukraine
Если вопрос ставиться в контексте сетевых запросов
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Valentyn Stepovenko
конкурентно это Promise.race()
И all, и race выполняются конкуррентно
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Как по мне, то вопрос не совсем правильный. Промис олл никакого отношения к "параллельному" и к "конкурентному". Промис олл просто возвращает промис, который либо выполнится, когда выполнятся все, либо реджектнится, когда реджектнится один из них.
Ну тогда вопрос перезададут относительно очерёдности/порядка выполнения составляющих промисов
Понятно же, что хотят узнать именно это
источник
2020 October 24

M

Miseo in NodeUA - JavaScript and Node.js in Ukraine
Есть вебсокет сервер к которому можно подключится по айпи:порт сервера, но надо заменить айпишник адресом сайта, сайт защищён через клаудфлер. У кого есть инструкция? А то я незнаю какой еще запрос в гугле ввести чтобы решить этот вопрос
источник

UT

User True in NodeUA - JavaScript and Node.js in Ukraine
Miseo
Есть вебсокет сервер к которому можно подключится по айпи:порт сервера, но надо заменить айпишник адресом сайта, сайт защищён через клаудфлер. У кого есть инструкция? А то я незнаю какой еще запрос в гугле ввести чтобы решить этот вопрос
Надо сделать тоже, что происходит в браузере при прохождение cloudflare. Там скорей всего сначала отдает html c js обсуфицированным, его надо отреверсить и отправить результат, потом вроде он cookies даст. Но я точно не помню, давно обходил.
источник

M

Miseo in NodeUA - JavaScript and Node.js in Ukraine
Я пока в поддержку хостинга сайта написал, может они еще что подскажут.
источник

LL

Legioner9 Legioner9 in NodeUA - JavaScript and Node.js in Ukraine
https://github.com/HowProgrammingWorks/NodejsStarterKit/blob/master/lib/dependencies.js - это значит зареквайрить всю ноду в один объект норм получается ? это для удобства ? ( starerKit еще целиком не смотрел)
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Legioner9 Legioner9
https://github.com/HowProgrammingWorks/NodejsStarterKit/blob/master/lib/dependencies.js - это значит зареквайрить всю ноду в один объект норм получается ? это для удобства ? ( starerKit еще целиком не смотрел)
Это чтоб потом вот так подгружать https://github.com/HowProgrammingWorks/NodejsStarterKit/blob/master/lib/application.js
источник