Size: a a a

2020 February 24

YG

Yuriy Gorlichenko in Go-go!
а вот в node.js без async/await все превращается в геморой из промисов или callback
источник

а

а кто это in Go-go!
Владимир Столяров
Это же разные вещи, не? async вынуждает делать все функции асинхронными, даже если это и не понадобится, а context можно либо не использовать совсем, либо передавать любой другой
+
источник

KR

Kai Ren in Go-go!
Владимир Столяров
Это же разные вещи, не? async вынуждает делать все функции асинхронными, даже если это и не понадобится, а context можно либо не использовать совсем, либо передавать любой другой
Да нет же. А как же timeout'ы/deadline'ы/cancellation? Не использовать контекст - это отказаться от них. В теории то можно, на практике - не применимо в day-to-day коде. 2-3 года назад ходила байка ещё про гугловый кодстайл Го, что у них там за отсутствие контекста в АПИ пласкогубцами пальцы выкручивают.
источник

KR

Kai Ren in Go-go!
а кто это
только тогда, когда это необходимо
async аналогично. На практике это получается путь IO снизу-вверх. И кейсы совпадают полностью.
источник

AK

Andrey Kolkov in Go-go!
А как правильно юзать uuid.UUID для PK MySQL? и стоит ли?
источник

p

pragus in Go-go!
а кто это
обычно async/await это достаточно жирный сахар
А что там жирного?
источник

ВС

Владимир Столяров in Go-go!
Kai Ren
async аналогично. На практике это получается путь IO снизу-вверх. И кейсы совпадают полностью.
Вот только тут начинаются интересности, когда асинхронная функция вырождается в синхронную. В случае с async это лишний оверхед, в случае с context - нет
источник

KR

Kai Ren in Go-go!
а кто это
и функция с контекстом не отличается от функции без него
Отличается. Наличием контекста. Точно так же, как async-функция отличается наличием модификатора. С точки зрения использования - одинаково по большому счёту. Coloring функций остаётся, ибо природа его в самой асинхронности операций.
источник

AK

Anton Kucherov in Go-go!
Yuriy Gorlichenko
а вот в node.js без async/await все превращается в геморой из промисов или callback
Ну в JS это просто синтаксический сахар, под капотом то промисы.
источник

а

а кто это in Go-go!
Kai Ren
Отличается. Наличием контекста. Точно так же, как async-функция отличается наличием модификатора. С точки зрения использования - одинаково по большому счёту. Coloring функций остаётся, ибо природа его в самой асинхронности операций.
вы можете вызвать функцию с контекстом, просто передавая нулевой контекст
источник

а

а кто это in Go-go!
хоть синхронно, хоть не очень
источник

KR

Kai Ren in Go-go!
Владимир Столяров
Вот только тут начинаются интересности, когда асинхронная функция вырождается в синхронную. В случае с async это лишний оверхед, в случае с context - нет
Зависит от реализации. Я больше про семантику говорил. В Rust, например, оверхед скоро совсем уберут и будет зиро-кост (можно будет из no_std)
источник

NS

Nik S in Go-go!
Добрый вечер! Подскажите, это сообщество для новичков?
источник

KR

Kai Ren in Go-go!
а кто это
вы можете вызвать функцию с контекстом, просто передавая нулевой контекст
Я понимаю. С async-функциями тоже есть свои подобные приколы. Это не туда. На практике так не делается в нормальном коде.
источник

а

а кто это in Go-go!
Nik S
Добрый вечер! Подскажите, это сообщество для новичков?
здесь нету разделения
источник

NS

Nik S in Go-go!
а кто это
здесь нету разделения
Спасибо!
источник

а

а кто это in Go-go!
Kai Ren
Я понимаю. С async-функциями тоже есть свои подобные приколы. Это не туда. На практике так не делается в нормальном коде.
что не делается? не вызываются функции с нулевым контекстом? еще как вызваются
источник

p

pragus in Go-go!
В принципе, можно в go сделать async/await, но пользы в виде контроля над переключением не будет
источник

KR

Kai Ren in Go-go!
а кто это
что не делается? не вызываются функции с нулевым контекстом? еще как вызваются
Как часто? Можно примеры годного кода с подобным? Весь нормальный код, что я видел и писал, пробрасывал контекст каскадно везде, чтобы иметь вменяемые возможности дедлайнов.
источник

а

а кто это in Go-go!
зависит от того, что вы считаете нормальным кодом
источник