Где найти jQuery плагин для отложенного выполнения запроса через n-секунд?
Всем привет,
Помню, что не так давно на Хабре была статья по поводу плагина, который позволяет выполнять то или иное действие в отложенном режиме (через несколько секунд) без использования алертов. Например, есть кнопка удаления объявления. При нажатии на которую, запускается таймер, 5, 4, 3, 2, 1 и посылается запрос на сервер на удаление объявления. За это время пользователь может кликнуть еще раз и отменить действие.
Так делать нельзя. Вы должны сразу отправлять на сервер запрос на удаление и запускать таймер на сервере. В случае если пользователь нажмет "отмена" - отправлять еще один запрос для отмены.
Иначе я например жму удалить, вы запускаете свой таймер, я закрываю браузер и иду спать, уверенный, что все удалил, а оказывается что надо было 5 секунд ждать.
Хотя я не понимаю зачем рассказываю это человеку, который ищет плагин для jQuery который делает setTimeout
С другой стороны, для разгрузки сервера, можно оставить все эти мелочи на машине у юзера, так как "я нажму на удалить, на сервер ушел запрос и был запущен таймер. Потом решу передумать или просто не туда попал, и в этот момент проблемы с инетом на 10 сек. и все... Что-то удалилось. Всегда есть обратная сторона медали.
В gmail так используется отправка писем. Бывает отправишь и через пару секунд понимаешь, что не то или не туда или дописать надо что. Хорошо спасает кнопка "отменить" на последней секунде :)
А вообще правильно подсказали, можно использовать setTimeout(func, ms), по выполнении функции можно сделать проверку нажимал пользователь на кнопку или нет. Если нажимал, то отменить действие..