JSPM

flushable

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3542
  • Score
    100M100P100Q152468F
  • License MIT

A flushable timeout function

Package Exports

  • flushable

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (flushable) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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";

// prints a message to the console after 1 second
const operation = flushable(flushed => {
  console.log(`I completed ${flushed ? "early" : "on time"}`);
}, 1000);

// true if the callback has not been executed
operation.pending();

// stops the callback from being executed
operation.cancel();

// immediately executes the callback
operation.flush();

Reference

type Flushable = (
  (flushed: boolean) => any,
  delay: number
) => {
  cancel: () => void,
  flush: () => void,
  pending: () => boolean
};