170 похожих чатов

Всем привет, уважамый чат! Какой из подходов более “go-way” Прокидывать контекст через

кучу функций куда нужно…

Или можно его сделать переменной пакета и просто ссылаться эту переменную где нужно?

17 ответов

32 просмотра

Нельзя контекст сделать глобальной переменной ибо контекст зависит от времени жизни сущности, которая вызывает ваш код....

root-Lunev Автор вопроса
Dmitry
Нельзя контекст сделать глобальной переменной ибо ...

Понимаю. Хотел в нужном месте потом этот контекст просто cancel’ить

прилетел запрос следом и перезаписал контекст ?

root-Lunev Автор вопроса
Alexey Ermakov
прилетел запрос следом и перезаписал контекст ?

Нет, это скорее глобальный контекст, который отвечает за graceful shutdown Не контекст запроса

root Lunev
Нет, это скорее глобальный контекст, который отвеч...

Короче через функцию таскай аргументом и не будет вопросов. Просто контест в го есть тупо property bag, но на кой то хрен в него же решили пихать cancellation token и поделали апишку под это дело и получилась какая каша ....

Dmitry
Короче через функцию таскай аргументом и не будет ...

Первопричина контекста - отмена операций и делайны, прокидывать через него значения вещь очень ситуативная и близкая к анти-паттерну

Royal Cat
Первопричина контекста - отмена операций и делайны...

Да все прокидывают, например куча http фреймворков.

Dmitry
Да все прокидывают, например куча http фреймворков...

А если все с крыши прыгать будут, мы тоже будем? 😄 Но справедливости ради соглашусь, что context.WithValue подразумевает использование контекста для прокидывания разносортных "глобально-локально" доступных данных Для неискушенных JavaEE - что-то типа @RequestScoped бинов

Dmitry
Да все прокидывают, например куча http фреймворков...

Потому что это удобно и относится к запросу, а не хендлеру, это не проблема сама по себе, проблема это когда через него прокидывать то что должно быть аргументом функции. Другое дело отмена операций, отмена через контекст наверное самая удобная реализация которую я видел

А почему token отмены НЕ должен быть отдельным аргументом , а должен быть впихан в контекст ?) Он особенный?)

Dmitry
А почему token отмены НЕ должен быть отдельным арг...

Да, он особенный, это его предназначение) Прочитал что такое CancelationToken, контекст его не прокидывает, его в принципе не существует, context полностью заменяет его

Royal Cat
Да, он особенный, это его предназначение) Прочитал...

Ну да, заменяет. Но одновременно этот же контекст реализует property bag паттерн... Где не только такие вот токены могут быть, одновременно (!) с этим этот класец имеет api для работы с токенами отмены (хм?)

Dmitry
Ну да, заменяет. Но одновременно этот же контекст ...

property bag обычно стараются типизировать, его логичнее реализовывать заэмбедив контекст в свой собственный контейнер

Royal Cat
property bag обычно стараются типизировать, его ло...

Ну вот контекст го не следует этому.

Property bag выглядит как то что стоит реализовать самостоятельно и кидая свою структуру с нужными полями, тем же вторым аргументом

Royal Cat
Property bag выглядит как то что стоит реализовать...

Покуда есть контекст который уже имеет это никто не будет заморачиваться.

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта