两种方式:
1、js的new Function()
参考https://zh.javascript.info/new-function
2、this.todo("motorIdcDevice", "aCardReader", "EjectCard", null, null , afterFun, null);
/**
* @param {*} js 实例名
* @param {*} serverName 逻辑服务名
* @param {*} method 函数名
* @param {*} resFunName 完成调用方法名
* @param {*} resFun 完成调用function
* @param {*} afterFun 后置调用function
* @param {...any} args 参数
*/
async todo(js, serverName, method, resFunName, resFun, afterFun, ...args){
let instance = win[js];
if(resFunName != null && resFun != null){
instance[resFunName] = resFun;
}
OnSocketReady(() => {
instance.SetAttribute("LogicalName", serverName).then(() => {
this.readyDo(js, instance, serverName, method, afterFun, ...args);
});
});
}
/**
* @param {*} js 实例名
* @param {*} instance 实列
* @param {*} serverName 逻辑服务名
* @param {*} method 函数名
* @param {...any} args 参数
*/
async readyDo(js, instance, serverName, method, afterFun, ...args){
let doMethod = instance[method](...args);
}