Блокировка функции ожидания в JavaScript?

В рамках проекта Javascript, над которым я работаю, есть несколько синхронных вызовов ajax(Полагаю, это делает его "сяксом", но я отвлекся), Сейчас я пишу панель отладки, которая позволила бы мне протестировать сайт с некоторыми искусственно смоделированными условиями сети, обернув$.ajax, Простые вещи: подделка 500 ответов и т. Д., А вызовы ajax занимают гораздо больше времени.

Для асинхронных вызовов это просто. Когда реальный ответ возвращается, добавьтеsetTimeout чтобы заставить его ждать искусственного времени ответа, прежде чем вызвать обратный вызов. Тем не менее, это не работает с синхронными вызовами, очевидно, так какsetTimeout не синхронно

Итак, есть ли способ заставить программу Javascript выполнять блокирующее ожидание в течение заданного периода времени?

Единственное, о чем я мог подумать, было бы что-то вроде этого:

function wait(ms) {
    var start = +(new Date());
    while (new Date() - start < ms);
}

Есть ли лучшее решение?

(Также, пожалуйста, предположите, что есть веская причина для блокировки вызовов ajax ...:-\)

Ответы на вопрос(3)

Ваш ответ на вопрос