|
Асинхронные методы работы | ☑ | ||
---|---|---|---|---|
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), попробую это реализовать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |