, если ajaxCallInProgress
является истинным выражением, это будет бесконечный цикл (и, следовательно, заморозит интерпретатор навсегда).
Во многих местах имеет смысл что-то делать, хотя определенное условие истинно, но во всех этих случаях проверяемое условие должно в какой-то момент устанавливать значение falsy в теле цикла.
Поскольку ECMA- / Javascript не поддерживает несколько потоков (я здесь просто игнорирую веб-работников), эта переменная не может быть изменена где-то еще.
Заключение
Где бы вы ни видели этот код, вы либо не копировали и не вставляли его полностью, либо автор этого кода на самом деле не знал, что он делает.