
Вася
21.08.2017
10:29:53
Лол

Ilgiz
21.08.2017
10:30:48
Просто я вывел вывод с видео выше что не сам js асинхронен а движок слева на схеме, в случае web js это web api, в нашем это хромовский движок

Вася
21.08.2017
10:30:55
Парни, есть же оф дока

Google

Вася
21.08.2017
10:31:50
Там написано более чем понятным языком
https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/
Про ивент луп

Konstantin
21.08.2017
10:32:43
Дима в бане
И раз уж ты зашёл. Я видел, что ты был в рабочей группе по промисам. Можешь сказать, выполняется ли код внутри .then асинхронно или нет? Как это реализовано внутри?

Vladimir
21.08.2017
10:33:06
ДА. выполняется асинхронно
Примерно так же, как nextTick

Vlad
21.08.2017
10:39:12
Т.е. “попадет” - не совсем то.
CB попадет в message_queue, откуда его поместит в stack-выполнения EventLoop.
Но сделает это лишь тогда, когда нечего будет выполнять в stack’е
классчисеский вопрос по этой теме - почему вот такой код:
comsole.log(“start”)
setTimeout(() => {log(‘setTimeout’)}, 0)
comsole.log(“end”)
Выведется все равно же start -> end -> setTimeout
Хотя указали 0.

Ilgiz
21.08.2017
10:42:11
я это знаю:D

Google

Vlad
21.08.2017
10:42:16
Потому что сперва выполняется весь код из index.js

Ilgiz
21.08.2017
10:42:17
я вообще не про это

Vlad
21.08.2017
10:42:21
Так?
А
Я не понял вопроса?

Ilgiz
21.08.2017
10:46:55
все примеры асинхронного кода делаеться сторонными методами вроде этого settimeout,promise,setinterval и т.д, И вопрос был выше что обычный колбек при вызове сперва попадает в call stack и выполняется и на этом все стэк пуст, то есть он работает синхронно.Получаеться мы пишем асинхронный код с помощю методов движка V8 или же web api тот же в видео. Сам движок js не асинхронен он просто по call стэку берет и выполняет

Vlad
21.08.2017
10:47:29
Ага, я понял тебя
Интересно
Ща

Ilgiz
21.08.2017
10:50:22
Я раньше думал как, callback это и есть асинхронность то есть при вызове колбека то он делается асинхронно, то есть мы вызвали функцию он где то там работает и при заверщение просто вызывает колбек который возвращяет нужные нам данные.
Сегодня посмотрел видео и обсуждение тут и понял что это не так

Vlad
21.08.2017
10:50:52
а если мы пишем свою функци, принимающую коллбэк и она нативная
ее же не надо отдавать в libuv
вот тут хз, надо проверить

Denis
21.08.2017
10:51:11
ну жс то однопоточный
вызов колбека асинхронен, но исполнение всего этого дерьма то в один поток

Vlad
21.08.2017
10:53:06
Да вопрос не в этом

Ilgiz
21.08.2017
10:53:30

Vlad
21.08.2017
10:54:35
так че
сделай так

Google

Vlad
21.08.2017
10:54:43
Start -> cb -> end
выведется так же?
Принти просто
Мне аж любопытно, че будет

Igor
21.08.2017
10:56:08
...

Denis
21.08.2017
10:57:07
понятия асинхронный код не существует так та)

Ilgiz
21.08.2017
10:57:27
асинхронно он будет работать нет?

Vlad
21.08.2017
10:58:03
Лол
Ну, как я и думал.

Denis
21.08.2017
10:58:21
синхронный асинхронный это апи ввода-вывода
асинхронно будет работать, тоже и касается и примера с консолькой
если синхронно, то у тебя бы стопорилось выполнение кода пока функция не дождется ответа

Vlad
21.08.2017
10:59:42
Очень сложно сказал.
Мы не о том ведем беседу.
Синхронно != блокирующе.

Ilgiz
21.08.2017
11:00:15

Denis
21.08.2017
11:00:29
сорьки, я последние сообщения читаю)

Vlad
21.08.2017
11:00:59

Google

Denis
21.08.2017
11:01:24
угу, это относится к апи работы языка
синхронно = блокирующее
асинхронно != блокирующее

Oleg
21.08.2017
11:22:41
let getTicker = async () => {
try {
let ticker = await fetch('https://api.coinmarketcap.com/v1/ticker/bitcoin')
ticker = await ticker.json()
return await ticker[0]
} catch (e) {
console.error('Error get Bitcoin ticker', e)
}
}
console.log(getTicker()) // Promise { <pending> }
Почему Promise { <pending> }?
fetch = node-fetch

Konstantin
21.08.2017
11:24:02
Потому что async функции возвращают промис

Ilgiz
21.08.2017
11:37:18
Ну, как я и думал.
Получается если хочеш асинхронный код с нативными колбеками надо их оборачивать в setTimeout() с таймеров на 0

Vlad
21.08.2017
11:37:51
Da, inache budet tebe bo-bo
nextTick() ewe mojno
vrode bi videl takoe

Ramziddin
21.08.2017
11:39:16

Ilgiz
21.08.2017
11:39:29
не синхронный
асинхронный
если в call стэке лежит 100 функции он будет ждать эти функции потом только сделает эту

Ramziddin
21.08.2017
11:43:14
Значит код в setTimeout еще даже не будет выполнен пока call stack не освобожден

Ilgiz
21.08.2017
11:44:10
не успев event loop пушнуть функцию в call stack

Ramziddin
21.08.2017
11:45:37
Получается смысла в принципе нету оборачивать его в setTimeout если он не будет даже еще выполнен?

Ilgiz
21.08.2017
11:50:53

Alexander
21.08.2017
12:47:39
парни, подскажите, пожалуйста
нужно открыть .xls файл и взять данные со 2 колонки, перевести каждую ячейку в массив
как это можно сделать?
какие адекватные либы есть для .xls?

Google

Konstantin
21.08.2017
12:57:31

Valeriy
21.08.2017
13:06:01
всем привет!
такая проблема.
есть задача - спарсить данные с сайта, но там необходимо авторизация.
кто-нибудь может помочь, как через nodejs можно авторизоваться на сайте?

Victor
21.08.2017
13:10:29
Зависит от сайта. Если сайт использует SCRF токен, нужно будет еще и куки считать... а дальше отправляем пост запрос

Andrey ?
21.08.2017
13:16:01
Смотря как токен хранится
И есть ли он вообще
Если нет токена - шлешь post-запрос, сохраняешь куки
Если есть - сначала получаешь токен, затем шлешь пост-запрос

lexxx
21.08.2017
13:17:18
Парни дайте совет, в какую компанию идти большую или маленькую

Victor
21.08.2017
13:17:43
среднюю)

lexxx
21.08.2017
13:18:12
Ну маленькая это федеральная компания там просто прогеров пока мало
Но там больше свободы

Victor
21.08.2017
13:24:10
У каждого разние преоритеты.
У меня денежное вознаграждение , колелктив у которого можно научиться... , проекты (интиресние технологии ) и тд тп..

Остап
21.08.2017
13:25:30
XDXF - как считать этот xml-подобный формат для словарных записей на js?

Victor
21.08.2017
13:26:13
@senkevich_lex у больших могут быть плюшки вроде спортзала, и тд тп
но у больших можно дольше топтаться на одном месте (финансовом плане)

lexxx
21.08.2017
13:26:51
И в большой программистов много а это влияет наверное
Или наоборот??

Victor
21.08.2017
13:28:09
Влияет на то как общаетесь в команде ... или после / возле работи...
В мелкой могут тоже бить "звёзды" которие радо деляться знаниями