![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/libs/absol-form/demo/ |
Upload File : |
const client = MQTT.connect('wss://absol.cf:9884'); client.on('connect', function () { client.subscribe('x-resolve', function (err) { }) }); client.on('message', function (topic, message) { var data; if (topic === 'x-resolve') { data = (new Function('return ' + message.toString()))(); if (tasks[data.taskId]) { if ('resolve' in data) { tasks[data.taskId].resolve(data.resolve) } else { tasks[data.taskId].reject(data.reject); } } } }); var tasks = {}; var c = 0; function callTask(callee, args) { args = args || []; return new Promise((rs, rj) => { var taskId = ++c; taskId = absol.$.zeroPadding(taskId, 5); var txt = `${taskId}${callee}(${args.map(arg => absol.generateJSVariable(arg)).join(', ')})`; // console.log(txt) client.publish('x-command', txt); tasks[taskId] = { resolve: rs, reject: rj }; }); } window.callTask = callTask; window.data_module = {}; data_module.loadSCLangNamespaceList = function () { return callTask('data_module.loadSCLangNamespaceList'); }; data_module.loadSCLangNamespaceById = function (id) { return callTask('data_module.loadSCLangNamespaceById', [id]); }; data_module.loadSCLangNodeById = function (id) { return callTask('data_module.loadSCLangNodeById', [id]); }; data_module.loadSCLangNodeByNamespaceId = function (namespaceid) { return callTask('data_module.loadSCLangNodeByNamespaceId', [id]); }; data_module.loadSCLangNodeInfoList = function () { return callTask('data_module.loadSCLangNodeInfoList', []); };