В моем веб-приложении jQuery я использую события в значительной степени.
У моего компонента для того, чтобы сделать ajax запросы клиента (имя - "коммуникация") к серверу есть очередь.
Эта очередь подобна коллекции Backbone.js.
Так каждый раз, когда я поместил новый объект запроса в коллекцию "коммуникации", объект коммуникации получает "добавить" событие и метод "рабочего" взглядов "коммуникации", если в настоящее время есть продолжающийся запрос. Если нет никого, метод рабочего обрабатывает запрос и наконец, когда все хорошо работает, вызывает "полное" событие на объекте запроса.
В этом компоненте коммуникации только один запрос за один раз возможен. Если я добавляю, что запрос возражает против "коммуникации", и "добавить" событие вызывается, и метод рабочего видит, что уже есть запрос, чем ничего не происходит.
Мой вопрос: В этой ситуации, каков лучший подход для обработки этого необработанного объекта запроса В ОТНОШЕНИИ "ИНФРАСТРУКТУРЫ СОБЫТИЙ"?
До сих пор у меня было 2 разных подхода:
1) Я мог сделать следующее: Если мой продолжающийся запрос закончен, метод рабочего может проверить, есть ли необработанный объект запроса в коллекции, и обработайте его. Это просто, никакое событие не включается.
2) Или что-то другое: Если метод рабочего начинается из-за "добавить" события и видит, что уже есть продолжающийся запрос, я мог осуществить что-то как: "Я не могу ответить, adeqately к этому добавляют событие, я размещаю вас назад. Пожалуйста, вызовите себя в 200 миллисекундах снова, возможно у меня есть время тогда".
Возможно, кто-то уже имел подобную проблему и имел очень хорошее решение этого?