|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|||||||||||||||||
Асинхронная задача Result = "{Not yet completed}"22.01.2021, 12:00. Показов 5581. Ответов 53
Метки нет (Все метки)
Стараюсь получить баланс пользователя через асинхронный метод BalanseNowAsync через запрос по RestAPI.
после момента с точной остановы перекидывает обратно в класс, вызывающий метод, а результат метода
0
|
|||||||||||||||||
| 22.01.2021, 12:00 | |
|
Ответы с готовыми решениями:
53
Build completed with a result of 'Failed' при билде на Андроид Чем отличаются синхронная и асинхронная задача? underflow during read from stream minor code: 0 completed: No minor code: 0 completed: No |
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|||||||||||
| 25.01.2021, 13:02 [ТС] | |||||||||||
|
OwenGlendower,
0
|
|||||||||||
|
Модератор
|
||
| 25.01.2021, 14:01 | ||
|
Для примера надо понимать какие методы вы создаёте и можете менять (Model), а какие из сторонней библиотеки и вы пользуетесь им "как есть" (API).
0
|
||
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|
| 25.01.2021, 14:03 [ТС] | |
|
Элд Хасп, у меня открытый проект, это не скомпилированная библиотека (я об API)
0
|
|
|
Модератор
|
||||||
| 25.01.2021, 14:13 | ||||||
|
_requestSender.SendWebRequestAsync или SendWebRequest - это методы из Api и вы их не можете менять.
А методы GetClientAccountsAsync или GetClientAccounts - это ваша редакция и вы можете её менять? Добавлено через 34 секунды Добавлено через 3 минуты А по сигнатуре они должны возвращать не результат, а задачу (Task). Добавлено через 2 минуты Если есть доступ к исходникам (какая понял он есть), то придётся ориентироваться на async в модификаторах метода. Добавлено через 2 минуты Придётся ориентироваться только по исходникам.
0
|
||||||
|
Администратор
|
||||||||||||||||
| 25.01.2021, 14:23 | ||||||||||||||||
|
limeniye, SendHttpRequest и SendWebRequest по сути пытаются делать одно и тоже. Говорю "пытаются" потому что в реализации есть отличия и вижу потенциальные баги в SendWebRequest. Тем не менее раз SendHttpRequest асинхронный, то GetClientAccounts можно переписать с его использованием
И вдогонку исправленный SendWebRequest Кликните здесь для просмотра всего текста
1
|
||||||||||||||||
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
||||
| 25.01.2021, 15:21 [ТС] | ||||
|
SendWebRequest и метод GetClientAccounts -- это всё проект с API. Там расписаны как запросы должны отправляться и сами запросы, а также классы, в которые "упаковывают" response (например ClientAccount). Добавлено через 16 минут _________________ OwenGlendower, я переделал все методы в API на async Task<> и отправкой запроса с await, но меня интересует в чём разница (для индивидуального понимания) SendHttpRequest и SendWebRequest . До этого мой максимум с запросами -- это работа с xNet и уровень значительно отличается.
0
|
||||
|
Администратор
|
||
| 25.01.2021, 15:50 | ||
|
0
|
||
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|||||||||||||||||
| 25.01.2021, 17:12 [ТС] | |||||||||||||||||
|
Изначально мне было интересно как это всё работает, потому что такого масштаба проекта, под API, я ещё не видел. Но объяснить как оно всё работает, а главное зачем, некому. Поэтому я, неопытный в этом деле маслёнок, пришёл к мнению что: работает -- ну и не трогай. Сейчас же стало значительно понятней. Для начала я разберу более простой пример на основе того, что было написано выше. Пользователь вводит ID свой и нажимает кнопку. Во-первых, async и Task<> должны быть в моделе, а также ожидание ответа, которое не "замораживает процесс" -- await. Как я понял Run() или StartNew() нужны в тех случаях, когда в асинхронном методе вызывается синхронный, и чтобы вызвать его асинхронно создают новый Task. В данном случае это не требуется. Model
Кликните здесь для просмотра всего текста
В ViewModel осталось сделать нажатие на кнопку.
И там где комментарий, я так полагаю мне дойдёт ошибка, если произойдёт ниже, и я могу записать её в лог. Верно?
0
|
|||||||||||||||||
|
Администратор
|
||||||||
| 25.01.2021, 17:29 | ||||||||
1
|
||||||||
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
||||||||||||
| 25.01.2021, 17:44 [ТС] | ||||||||||||
|
______________
OwenGlendower, но при такой реализации программа ведёт себя странно: при запуске этой ViewModel у меня, в конструкторе, запускается метод
То есть если EnterCanMethod изначально true, то всё работает, но если я реализую проверку на заполненность TexBox, а он изначально пустой, то больше кнопка не нажимается Добавлено через 1 минуту Добавлено через 7 минут Я попробовал не запускать его изначально в конструкторе, а запускать его только тогда, когда это нужно:
Но, по сути, в этом нет смысла. Ведь даже если пользователь нажмёт на кнопку и поле будет пустое, то больше кнопка не будет кликабельна, она как "одноразовый стаканчик".
0
|
||||||||||||
|
Администратор
|
|
| 25.01.2021, 20:36 | |
|
limeniye, это уже отдельный разговор. Предлагаю вам создать новую тему в разделе WPF и обсудить как подружить async и команды.
0
|
|
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|
| 11.03.2021, 01:05 [ТС] | |
|
Здравствуйте, OwenGlendower. Мне не даёт покоя этот permalink.
Уж очень мне интересно, что это за магия происходит. Можете рассказать чуточку больше? Например: лучше делать методы отправки запросов синхронными изначально, или же наоборот? Скорее всего Вы ответите "исходя из ситуации", но я бы это и хотел понять. Почему SendHttpRequest был async, а SendWebRequest синхронным? Почему все Post запросы были async, а все Get запросы синхронными? Если у Вас появится не лишнее время, которое Вы можете на меня уделить -- буду крайне признателен)
0
|
|
|
Администратор
|
||||
| 11.03.2021, 09:39 | ||||
|
1
|
||||
|
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
|
|
| 11.03.2021, 10:01 [ТС] | |
|
OwenGlendower, ответ был дан доступно. Спасибо!)
0
|
|
| 11.03.2021, 10:01 | |
|
Задача по процедуре add(+List, -Result) Как string result переобразовать в char result [1024] Use of undefined constant result - assumed 'result' Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 75 in Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|