Невозможно отправить данные через websocket (ws) - PullRequest
0 голосов
/ 18 июня 2019

Итак, основная проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь вызвать kai.setCapabilities () из photoshop.ts, за пределами kaiEvents.onKaiConnected (), он работает нормально, но как только я пытаюсь вызвать Функция kai.setCapabilities () выходит за рамки kaiEvents.onKaiConnected (), которую выполняет функция, но веб-сокет (index.ts) не отправляет данные. Я использую события эмитента и слушателей. (emitter.ts)

В моем файле index.ts есть следующий фрагмент кода:

export function setCapabilities(kaiId:number,capabilities:object){ 
    var request:object = {
        type: 'setCapabilities',
        kaiId: kaiId
    }
    let req = {...request,...capabilities}
    ws.on('open',function(){
        ws.send(JSON.stringify(req));
    });
}
if(response['success']){
    switch(response['type']){
        case 'setCapabilities':
           kaiEvents.emit('setCapabilities',response)
           capabilitiesSet = true
           break;
    }
}

и следующее в файле emitter.ts:

onSetCapabilities(handler:any){
    this.addListener('setCapabilities',handler);
}

onKaiConnected(handler:any) {
    this.addListener('kaiConnected',handler) ;
}

и следующие в photoshop.ts

import * as kai from './index';

kai.setCapabilities('default',capabilities);
kaiEvents.onKaiConnected(function () {
    kai.setCapabilities('default',capabilities)
});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...