Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.05.2013, 17:25
Новичок на форуме
Отправить личное сообщение для kenrike Посмотреть профиль Найти все сообщения от kenrike
 
Регистрация: 01.05.2013
Сообщений: 8

workers ajax синхронизация
Здравствуйте!
есть проблема...похоже с синхронизацией worker`ов.

привожу код клиента:
var workers = [];
    for (var i = 0; i < 3; i++) {
        var worker = new Worker('/myscript');
        worker.onmessage = function (data) {
            console.log(data);
        }
    }
    for (var g = 0; g < worker.length; g++) {
        workers[g].postMessage('start');
    }


и код файла myscript, то есть код worker`а:
var myWorker = (function (workerWindow) {
    var myWorker = function () {
        this.initEvents();
    };

    myWorker.prototype.log = function (message) {
        workerWindow.postMessage(message);
    };

    myWorker.prototype.get = function () {
        var XmlHttp = new XMLHttpRequest();
        XmlHttp.open('GET', myURL, false);
        XmlHttp.send(null);
        if (XmlHttp.status == 200) {
            var packet = JSON.parse(XmlHttp.responseText);
            this.log('packet id: ' + packet.id);
        }
    };

    myWorker.prototype.initEvents = function () {
        var self = this;
        workerWindow.addEventListener('message', function () {
            self.get();
        })
    };
}(this));

var ww = new myWorker(this);

В этом коде 3 воркера должны отправить запрос на сервер, получить ответ числом(изначально 0, инкрементится при каждом новом запросе на сервер) и вывести его. Вот только на сервер приходит всего 1 запрос, который и получают все 3 воркера, а вывод соответственно получатся такой:

packet id: 0
packet id: 0
packet id: 0

хотя по логике должно быть:

packet id: 0
packet id: 1
packet id: 2

думал, что дело может в том, что функция get находится в прототипе, однако если перенести ее в конструктор и убрать из прототипа ничего не меняется(
подскажите пожалуйста, где у меня тут ошибка?

Спасибо большое.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите со скриптом jquery hesrun jQuery 24 22.02.2013 12:59
Проблема с AJAX Dim@ AJAX и COMET 4 16.09.2012 22:52
Ajax таблица gofkane Работа 1 26.09.2011 18:26
Ajax таблица gofkane Работа 0 25.09.2011 11:53
Ajax разбор метода mycoding jQuery 14 21.05.2010 10:57