Две вещи могут помочь смягчить вашу проблему.
Во-первых, после выбора необходимо уведомить о том, что дело было взято, независимо от того, сколько времени вы обновляете ajax. Даже проверка каждую секунду не означает, что два человека не могут щелкнуть по одному и тому же случаю в то же время. В таких случаях один из пользователей должен быть уведомлен о том, что его выбор недействителен, даже если он был действительным при выборе. Это уведомление не должно быть сложным; поддержание легкого, полезного тона может улучшить восприятие пользователя даже в свете разочарования. И если вы идентифицируете пользователя, который уже выбрал эту запись, это не только поможет вашим пользователям координировать свои действия в будущем, но и отвлечет внимание от вашей программы к пользователю, который подделал сочный случай. (на самом деле, руководство может , как , давать вашим пользователям случайные столкновения, так как это побудит их выбирать дела быстрее)
Во-вторых, небольшая настройка того, как вы отображаете свои дела, может уменьшить коллизии выбора. Добавление случайного элемента для отображения порядка и / или фильтрации каждого другого отображаемого случая поможет вашим пользователям естественным образом выбирать разные случаи. Человеческое распознавание образов и выбор задач на самом деле не случайны, поэтому небольшие изменения в представлении могут равняться большим изменениям в поведении выбора. Уменьшение вероятности столкновения делает ваши уведомления о столкновениях редкими (и, следовательно, менее расстраивающими для ваших пользователей). Это даже лучше, если ваши пользователи могут быть разделены на классификации, которые могут помочь определить порядок упорядочения / фильтрации дел.
Ладно, третья вещь, которая поможет вам со временем, - вести учет того, когда происходят столкновения (с полезными метаданными о столкновении - например, кто участвовал и время выбора). Вооружившись достоверными данными о столкновениях, вы можете найти, что работает, а что нет. Со временем вы сможете адаптировать свое приложение к вашим фактическим вариантам использования, а также заранее выявить потенциальные проблемы. Ничто так не успокаивает ваших пользователей, как нахождение над проблемой (и возможность объяснить ваши планы по ее решению), прежде чем они даже осознают, что она существует.
С помощью этих шаблонов смягчения вы, вероятно, обнаружите, что можете безопасно сократить сроки выполнения запросов AJAX, не влияя на взаимодействие с пользователем. А благодаря полезной регистрации вы получите уверенность в том, что любые изменения, которые вы установили, на самом деле работают (или не & mdash; это может быть даже более полезно знать).