слушать канал с сообщениями от юзера, потом при новом сообщении шлю туда обновление, а если человек решил отменить ввод, то шлю nil, и, соответственно, понимаю, что ввод более не нужен.
Нормально ли это? Можно ли как-то иначе дать понять первоначальной горутине, что ввод более не требуется, или слать nil нормальная практика
Почему нет?
Нормальная практика - закрыть канал, тогда ридер это увидит явно
не знаю насколько понял. Я бы пытался проще решить задачу. Тут получается типа state machine. Пользователь на главной странице - state - main, пользователь смотрит свои удомления - state - my_notifications. пользователь вводит какие то данные, state - write_data. хранить где-то состояния и отвечать в зависимости от того в каком state пользователь. это вариант 1 Ну или вариант 2. Представить что это сайт, типа пользователь на главной странице, пользователь на странице - мои данные. сохранять их в базу например и понимать на каком шаге пользователь. И работать будто это эндпойнты на реальном веб-приложении
https://telegraf.js.org/#/?id=stage Тебе нужно что-то подобное. В го такой крутой либы нет, насколько я знаю, так что придётся руками писать стейт машину
Обсуждают сегодня