UNPKG

nxkit

Version:

This is a collection of tools, independent of any other libraries

74 lines (73 loc) 2.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const util_1 = require("../util"); const cli = require("./cli"); require("../log"); // require('../ws/cli/conv').USE_GZIP_DATA = false; // log.defaultConsole.makeDefault(); var host = util_1.default.options.host; if (host) { host = `192.168.${host}`; } else { host = `127.0.0.1`; } async function test() { var a = new cli.FMTClient('a', `fmt://${host}:8091/`); var b = new cli.FMTClient('b', `fmt://${host}:8092/`); var c = new cli.FMTClient('c', `fmt://${host}:8093/`); var d = new cli.FMTClient('d', `fmt://${host}:8094/`); var e = new cli.FMTClient('e', `fmt://${host}:8094/`); var st = Date.now(); var _resolve = null; function log(e) { var now = Date.now(); console.log(e.data, now - st); st = now; if (_resolve) { _resolve(); _resolve = null; } } // chech death setInterval(() => { if (_resolve) { _resolve(); _resolve = null; } }, 1e4); var limit = true; function trigger(that, event, data) { return new Promise(async (resolve, reject) => { if (limit) { if (_resolve) return reject('err'); _resolve = resolve; } else { await util_1.default.sleep(10); } that.trigger(event, data).then(() => limit || resolve()).catch(reject); }); } a.addEventListener('A', log); b.addEventListener('A', log); c.addEventListener('A', log); d.addEventListener('A', log); e.addEventListener('A', log); await util_1.default.sleep(1000); for (var i = 0; i < 1e6; i++) { try { await trigger(b.that('a'), 'A', 'A-' + i); await trigger(a.that('b'), 'A', 'B-' + i); await trigger(a.that('c'), 'A', 'C-' + i); await trigger(c.that('d'), 'A', 'D-' + i); await trigger(b.that('e'), 'A', 'E-' + i); } catch (err) { console.error('--------------------------', err); } } console.log('ok'); } test();