Синхронизировать массив с JavaScript - PullRequest
2 голосов
/ 30 июня 2010

Интересно, есть ли способ синхронизировать объекты / методы в JavaScript аналогично тому, как вы можете сделать это в Java.Я разрабатываю интерфейс для нового WebSocket в HTML5 и мне нужен способ сопоставления исходящих запросов с входящими ответами.Поэтому я сохраняю запросы (с уникальным идентификатором) в массиве на стороне клиента, а затем перебираю массив, когда получаю ответ, ища соответствующий запрос.

Проблема, которая может возникнуть нана стороне клиента, если у меня есть несколько таймеров, которые делают запросы к серверу независимо друг от друга.Если функция запроса вставляет «ссылку-запрос» в массив в то же время, когда слушатель-итератор выполняет итерацию по массиву, который он должен разбить!

Так как мне решить эту проблему?Сначала я хотел просто синхронизировать массив, как это можно было бы сделать в Java (поставить блокировку на объект и заставить другие функции ждать), но я не нашел синтаксиса того, как бы я делал это в JavaScript.

1 Ответ

3 голосов
/ 30 июня 2010

Javascript выполняется в одном потоке в браузере, поэтому синхронизировать не нужно.

См. здесь для получения подробной информацииСм. Также этот ТАК вопрос и ответы (Почему JavaScript не поддерживает многопоточность?).

...