Итак, основная проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь вызвать 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)
});