Вызов JS-прерывания несколько раз с помощью Blazor

Мое серверное приложение Blazor несколько раз вызывает функцию javascript, которая должна перемещать div (с помощью setInterval). Проблема в том, что функция не ждет завершения предыдущего вызова. В результате DOM изменяется одновременно из разных js-взаимодействий, что приводит к непредсказуемым результатам. Я ожидал, что вызовы будут складываться и запускаться один за другим. У вас есть идеи, как я могу решить эту проблему? Большое спасибо!

1 ответ

Похоже, единственный способ - использовать пользовательские атрибуты данных в DOM в качестве блокировки. Что-то такое:data-lockincrement="0"Каждый вызов JSInterop должен включать lockincrement так Setinterval продолжается до тех пор, пока lockincrement соответствует значению, что означает, что вызовы будут выполняться последовательно.

Другие вопросы по тегам