с апи на вебсокетах
я использую WebSocketSharp
при отправке запроса - все просто, я пишу ws.send(текст)
при приеме ответа - вызывается функция onmessage
она парсит строку, и двадцатью switch/case определяет какого типа ответ, и выполняет какие то действия, (заносит ответ в переменные или выводит на зкран)
поблема
есть кнопки, которые должны делать 3-4 запроса, а результат предыдущего запроса, являтся частью следующего
получается такая ситуация
кнопка нажата, ws.send(узнать время)
считать время из переменной, добавить пару аргументов ws.send(узнать новости по времени)
т.е. у меня нет гарантии что запрос о времеи сервера вернется раньше, чем я отправлю запрос для получения новостей
как это пофиксить?
В c# создай функции, для каждой кнопки отдельные, которые возвращают типизированный Task (для времени - Task<int> либо DateTimeOffset, отправляй фактический запрос внутри функции, когда все переменные для функции будут получены, то есть если все входные переменные получены либо через параметры функции либо через вызовы await
Обсуждают сегодня