Skip to content

Lightweight concurrency management, heavily inspired by ember-concurrency.

License

Notifications You must be signed in to change notification settings

CygnusRoboticus/concurrency-light

Repository files navigation

concurrency-light

Lightweight concurrency management, heavily inspired by ember-concurrency.

Installation

  • yarn add concurrency-light
  • npm install --save concurrency-light

Usage

import { task, TaskStrategy, timeout } from "concurrency-light";

class DocClass {
  constructor() {
    this.asyncSearch("pants");
    this.asyncSearch.isRunning; // true
    this.asyncSearch("skirts"); // restarted
  }

  @task({ strategy: TaskStrategy.Restart })
  *asyncSearch(search: string) {
    yield timeout(500);
    yield fetch(`/api/search?filter[query]=${search}`);
  }
}

About

Lightweight concurrency management, heavily inspired by ember-concurrency.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published