Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.10.2015, 18:45
Интересующийся
Отправить личное сообщение для Digan Посмотреть профиль Найти все сообщения от Digan
 
Регистрация: 08.10.2012
Сообщений: 12

Deffered и WebSocket
Создаю несколько $.Deffered объектов. Каждый должен отслеживать выполнение запроса через функцию, которая в свою очередь делает запрос через один глобальный WebSocket. Когда срабатывает событие WebSocket.onmessage вызывается указанная в параметров функции функцию обратного вызова. Функцию обратного вызова должна переводить состояние каждого Deffered в resolve. Но почему-то это срабатывает только для последнего созданного Deffered. Почему так происходит?

var promise = signPromise(dataString);

promise.then(function () { console.log(1); }, function () { console.log(2); }, function () { console.log(3); });

var promise2 = signPromise(dataString2);

//в resolve перейдет только этот
promise2.then(function (Sign, Value) { console.log(1); }, function () { console.log(2); }, function () { console.log(3); });

function signPromise(dataString) {
    
    return $.Deferred(function (obj) {

        var self = this;

        var mycallback = function () {
            self.resolve(1, 2);
        }

        requestFromSocket(dataString, false, mycallback);

    }).promise();
}

...

var webSocket = new WebSocket('wss://...');
var callback = null;

webSocket.onmessage = function (event) {
    callback();
};

function requestFromSocket(data, attached, callBack) {
    callback = callBack;
    webSocket.send("...");
}

Последний раз редактировалось Digan, 22.10.2015 в 18:53.
Ответить с цитированием
  #2 (permalink)  
Старый 23.10.2015, 16:55
Интересующийся
Отправить личное сообщение для Digan Посмотреть профиль Найти все сообщения от Digan
 
Регистрация: 08.10.2012
Сообщений: 12

Насколько я понял тут параллельно выполнить не получится. Поэтому сделал последовательную цепочку промисов.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Websocket через nginx как прокси faecker AJAX и COMET 0 18.09.2015 19:36
WebSocket - nodejs SVARAI AJAX и COMET 2 17.02.2014 08:41
websocket роутинг на сервере mue AJAX и COMET 18 08.10.2013 14:16
node.js - ws & websocket Reflexion AJAX и COMET 1 09.04.2013 01:14
WebSocket (стандарт RFC 6455) Voronar AJAX и COMET 3 26.02.2013 17:00