flushable
flushable
is useful in situations where you want to schedule a future operation that might be executed immediately or cancelled. Think setTimeout
with a way of executing the callback immediately.
Installation
yarn add flushable
Usage
Create a pending operation by passing flushable
a callback function and a delay. It returns an object that can be used to check the status of the operation, cancel the operation or execute the operation immediately.
import flushable from "flushable";
const operation = flushable(flushed => {
console.log(`I completed ${flushed ? "early" : "on time"}`);
}, 1000);
operation.pending();
operation.cancel();
operation.flush();
Reference
type Flushable = (
(flushed: boolean) => any,
delay: number
) => {
cancel: () => void,
flush: () => void,
pending: () => boolean
};