Handling Node.js Events Correctly
how to handle Node events correctly?
right now I handle it like this but some times it get's stuck indefinitely:
right now I handle it like this but some times it get's stuck indefinitely:
export const onceEffect = <T>(
emitter: EventEmitter,
event: string,
) =>
Effect.async<T>((resume) => {
const handler = (data: T) => resume(Effect.succeed(data));
emitter.once(event, handler);
});
const program = Effect.gen(function* () {
yield* Effect.logInfo("Waiting for 'loggedOn' event...");
yield* onceEffect<void>(steamUser, "loggedOn");
yield* Effect.logInfo("Inside 'loggedOn' event");