|
Асинхронные методы работы
| ☑ |
0
СинийКот
23.09.20
✎
13:40
|
Я уже поднимал здесь тему взаимодействия браузеров с веб-клиентом, в связи с этим начал разбираться с асинхронными методами и появился уже более глобальный вопрос: как вообще функции с синхронными методами переписываются на асинхронные процедуры? Потому что таких случаев не один и не два.
Даже взять самый простой вариант: функция возвращает синхронный метод КаталогДокументов(), как, скажем, процедурой НачатьПолучениеКаталогаДокументов() получить тот же результат, что и этой функцией?
|
|
1
ДенисЧ
23.09.20
✎
13:43
|
Передать в Начать* коллбек и в оном колбеке отрабатывать результат
|
|
2
Hmster
23.09.20
✎
13:49
|
На примере обмена с битриксом:
1. Полчучаешь ID для запроса
2. На основании ID инициируешь обработку
3. На основании ID смотришь как выполняется твоя обработка
В 1С при использовании фоновых заданий пункты 1,2 объединяются. ID - это твое фоновое задание, получается в момент инициирования.
|
|
3
Hmster
23.09.20
✎
13:53
|
(2) Т.е. тебе надо знать что у тебя выполняется, в каком состоянии это выполнение. А далее либо по кнопке либо по ожиданию делать следующий шаг
|
|
4
Franchiser
гуру
23.09.20
✎
13:54
|
Правая кнопка мыши - рефакторинг
|
|
5
СинийКот
23.09.20
✎
14:08
|
(4) в таких случаях не работает рефакторинг
|
|
6
ДенисЧ
23.09.20
✎
14:09
|
(5) В каких "таких"?
|
|
7
Web00001
23.09.20
✎
14:12
|
|
|
8
СинийКот
23.09.20
✎
14:12
|
(6) Ну вот я привел пример с каталогом документов, и похожие случаи есть, например подключение расширения, о котором я говорил в другой теме. Преобразовывает не полностью, и создает процедуру с возвратом значения)
|
|
9
d4rkmesa
23.09.20
✎
14:12
|
(0) Конфигурация - проверка конфигурации, там отметить поиск синхронных методов. Переписывать, конечно, волшебной кнопки нет, т.к. аргументы могут быть сильно различные.
|
|
10
СинийКот
23.09.20
✎
14:21
|
(9) Да не нужна мне волшебная кнопка, мне бы просто пара идей хоть каких-то. Ну вот пока буду отталкиваться от того, что предложили в (1) и (2), попробую это реализовать
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший