Хаки для синхронных вызовов JavaScript [дубликаты]

На этот вопрос уже есть ответ здесь:

Получение синхронного поведения в JavaScript? 4 ответа

JavaScript использует асинхронные вызовы в большинстве современных API-интерфейсов, имеющих дело с «медленными» вещами, такими как дисковый ввод-вывод и сеть. Я понимаю, какова цель этого, однако есть определенные случаи, когда действительно нужны синхронные звонки.

Например, у меня есть код JavaScript, который я не могу переписать. В коде есть синхронный вызов определенного метода. Для некоторых целей отладки в среде разработчика я хочу перехватить этот вызов, отправить информацию на сервер и дождаться ответа сервера. Этот перехватчик не будет работать на производстве. AFAIK, был способ сделать это с NPAPI, но теперь это официально устарело. И Google Chrome, и Mozilla Firefox предоставляют только API асинхронных сокетов, поэтому у меня нет шансов осуществить такой перехват. Другой способ - отправить синхронный XMLHttpRequest, но он значительно медленнее, поскольку требует HTTP-соединения и полезной нагрузки HTTP, поэтому я бы предпочел WebSocket.

У меня есть еще один случай, когда мне нужно вызвать IndexedDB, но это очень сложно объяснить. К сожалению, API синхронизации IndexedDB нигде не реализован.

Есть ли еще способы взломать асинхронные методы синхронно? Я бы принял браузерные хаки, надстройки для браузера, плагины и так далее. Или, может быть, кто-то знает, как попросить все те комитеты (и разработчиков браузеров), которые разрабатывают веб-стандарты, включить хотя бы версии синхронного API WebWorker?

Я знаю, что вопросы о синхронном вызове асинхронного метода задавались много раз, и общий ответ «это плохая идея». Я понимаю чтов общем-то это плохая идея, но вопределенный случаях нам действительно нужна свобода звонить синхронно.