0.0.8 • Published 3 years ago

uemit v0.0.8

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

UEmit

Example

interface Events {
	hi: number;
	bye: string;
	tick: number;
	bar?: null | number;
}

const emitter = new Mitt<Events>();

emitter
	.subscribe("tick", async (req) => {
		await sleep(2000);
		req.respond(400);
	})
	.subscribe("hi", async (req) => {
		console.log(req);
		await sleep(100);
		req.respond(req.data * 100);
	})
	.subscribe("bye", (req) => {
		req.respond(`bye ${req.data}`);
	});

let x = await emitter.request("tick", 2);
console.log(x);

x = await emitter.request("hi", 2);
console.log(x);

emitter.subscribe("bar", (r) => {
	console.log("bar");
});

emitter.request("bar", null);

for (let i = 0; i < 10; i++) {
	emitter
		.request("bye", i.toString())
		.then((x) => console.log(x))
		.catch((e) => console.log("e", e));
}

let rs = Array(10).fill(0);
let c = 0;
for await (let m of rs) {
	let x = await emitter.request("hi", ++c);
	console.log(x);
}
console.log("over");
0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago