Как через BAS API закрыть функции, создаваемые внутри вызываемой или как переделать?



  • Есть функция, которая берёт из веб-интерфейса список, и через foreach вызывает асинхронную функцию для каждого элемента.
    Если завершить её или её поток через Task.stop()/Thread.StopThread(), то асинхронные продолжают выполняться. Api.GetTasks() не показывает эти функции почему-то, не могу по имени закрыть их.
    d55ffe40-3351-4fe0-bdbe-44986e1c4865-image.png
    Как можно решить эту проблему? Кроме переделки на чистый js всей вызываемой асинхронки



  • @Drek228 потому что неправильно использовать foreach, он выполняется асинхронно



  • @UserTrue если убрать асинхронный вызов внутри foreach функция закрывается нормально (для пробы сделал сон и вывод в лог вместо вызова).
    Как мне вызвать функцию для каждого элемента из поля ввода чтобы всё работало?



  • @Drek228 said in Как через BAS API закрыть функции, создаваемые внутри вызываемой или как переделать?:

    @UserTrue если убрать асинхронный вызов внутри foreach функция закрывается нормально (для пробы сделал сон и вывод в лог вместо вызова).
    Как мне вызвать функцию для каждого элемента из поля ввода чтобы всё работало?

    Честно сказать я видимо вообще плохо понял вас. Хорошо бы пример кода. Каждая функция должна запускаться в отдельном потоке, тогда и с foreach даже должно работать



  • @UserTrue
    Функцию "StartGrabbing" веб-интерфейс видит, а "wall.Get" нет, хотя она запущена и выдаёт в лог.
    b03bd336-3818-49d1-a095-8789917c8ffa-image.png.



  • @Drek228 а причем тут то, что вы делаете внутри скрипта и веб интерфейс? Веб интерфейс знает только о том, что запущено через его апи


Log in to reply