Сначала покажите изображение загрузчика.Затем используйте setTimeout()
для запуска таймера.Когда таймер завершит работу, проверьте, завершился ли AJAX, уничтожил ли он образ загрузчика, но если нет, то ничего не сделал с образом загрузчика и установил флаг.Когда вызывается обработчик успеха AJAX, проверьте флаг;если флаг установлен, таймер завершил работу, и обработчик успеха может удалить изображение загрузчика;если флаг не установлен, то обработчик успеха может позволить таймеру уничтожить образ загрузчика.
По сути, у вас запущены две асинхронные задачи (тайм-аут и AJAX).Последний из них убивает изображение загрузчика.