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