@ -61,11 +61,14 @@ export class DecisionApi implements Api {
}
}
getConnectionStatus ( name : string ) : Promise < SocketResult > {
getConnectionStatus ( name : string ) : Promise < SocketResult > {
return this . sendEditStatusEvent ( name , editStatusEvent . OPEN )
// TODO: 当前emit同步回调已无法执行
. then ( re = > {
this . sendEditStatusEvent ( name , editStatusEvent . OPEN ) ;
if ( re . errorCode ) {
return new Promise ( ( resolve , rejected ) = > {
this . addEventListener ( editStatusEvent . OPEN , res = > {
if ( res . errorCode ) {
let errorMessage = '' ;
let errorMessage = '' ;
switch ( re . errorCode ) {
switch ( res . errorCode ) {
case errorCode . CONNECTION_DELETED :
case errorCode . CONNECTION_DELETED :
errorMessage = 'Dec-Dcm_Connection_Deleted' ;
errorMessage = 'Dec-Dcm_Connection_Deleted' ;
break ;
break ;
@ -73,17 +76,18 @@ export class DecisionApi implements Api {
errorMessage = 'Dec-Dcm_Connection_Is_Using' ;
errorMessage = 'Dec-Dcm_Connection_Is_Using' ;
break ;
break ;
default :
default :
errorMessage = re . errorMsg ;
errorMessage = res . errorMsg ;
break ;
break ;
}
}
BI . Msg . toast ( BI . i18nText ( errorMessage , re . errorMsg ) , {
BI . Msg . toast ( BI . i18nText ( errorMessage , res . errorMsg ) , {
level : 'error' ,
level : 'error' ,
} ) ;
} ) ;
throw re ;
rejected ( res ) ;
} else {
} else {
return re ;
resolve ( res ) ;
}
}
} ) ;
} ) ;
} ) ;
}
}
setEditedConnectionStatus ( name : string ) : Promise < SocketResult > {
setEditedConnectionStatus ( name : string ) : Promise < SocketResult > {
@ -131,4 +135,14 @@ export class DecisionApi implements Api {
}
}
} ) ;
} ) ;
}
}
private addEventListener ( name : string , callback : Function ) {
if ( ! Dec . socket ) return ;
if ( Dec . socket . hasListeners ( name ) ) {
Dec . socket . removeListener ( name ) ;
}
Dec . socket . originOn ( name , callback ) ;
}
}
}