npm.io
1.0.1 • Published 6 years ago

message-taker

Licence
MIT
Version
1.0.1
Deps
0
Size
12 kB
Vulns
0
Weekly
0

message-taker

codecov Test Badge Lint Badge

Install

$ yarn add message-taker

Usage

import { useMessageTaker, onTimeout } from "message-taker";

const sample = async () => {
  const [notify, take] = useMessageTaker<string>();

  const unsubscribe1 = onTimeout(() => notify("A"), 20);
  const unsubscribe2 = onTimeout(() => notify("B"), 10);

  console.log(await take()); // => "B"
  console.log(await take()); // => "A"

  [
    unsubscribe1, //
    unsubscribe2,
  ].forEach((unsubscribe) => unsubscribe());
};
sample();

Keywords