Я работаю над Angular-приложением , которое каждую секунду получает обновления в реальном времени через websockets .Каждый раз, когда я получаю данные, я выполняю тяжелые вычисления на них.Чтобы улучшить его производительность, я перенес тяжелый расчет на веб-работник .
Я отправляю данные веб-работнику в формате JSON, например:
const message = {
type: 'orderBook',
data: {
trade,
orderBookData: this.orderBookData,
name: coin_name,
basePrecision,
userOpenOrders: this.getOpenOrders(),
userIsLoggedIn: this.isUserLoggedIn(),
dataPrecision: this.dataPrecision,
}
};
this.databaseServiceWorker.postMessage(message);
Они успешно отправляются в рабочий поток, и результат также поступает от веб-работника, но в течение нескольких секунд браузер получаетзастрял.
Почему пользовательский интерфейс застревает при обработке задачи на веб-сервере?