В angular JS 1.1.5 вы можете отменить ранее запущенные вызовы $ http. Эти два link1 и link2 дает некоторое объяснение того, как это работает.
Однако я не могу понять, как это использовать на практике. Я создал plnkr, чтобы проиллюстрировать, чего я хочу достичь.
- У пользователя есть ссылка, по которой он может перейти (как мы знаем, пользователи, как правило, делают это очень страстно)
- Если пользователь нажимает ссылку, а предыдущий запрос еще не завершен, его следует отменить и сделать новый запрос (в этом примере есть другие способы игнорировать несколько щелчков. Исходная проблема - это поле ввода пользователя с ng-change на нем. - запрос выполняется каждый раз, когда пользователь меняет значение - каждое нажатие клавиши запускает $ http. Я использую ссылку, чтобы сделать его немного проще)
Как видно из plnkr, запрос срабатывает и немедленно отменяется, но я ожидаю, что последний запрос будет успешным. .
Я новичок в angularjs, поэтому, вероятно, я делаю это неправильно. Я погуглил все, что могу вообразить, но нет полных примеров для canceller.resolve ()
Может ли кто-нибудь помочь мне с этим или направить меня в правильном направлении?