Options
All
  • Public
  • Public/Protected
  • All
Menu

Module util/ember-concurrency

Index

Type aliases

TaskArgsType<T>: T extends TaskIsh<infer Args, any> ? Args : unknown[]

Type parameters

  • T

TaskReturnType<T>: T extends TaskIsh<any, infer Return> ? Return : unknown

Type parameters

  • T

Variables

TASK: typeof TASK = ...

Functions

  • proxyClass<ArgsList, Return, LocalTask, Instance>(target: { value: Instance }): Instance
  • Type parameters

    • ArgsList: any[]

    • Return

    • LocalTask: TaskIsh<ArgsList, Return, LocalTask>

    • Instance: TaskResource<ArgsList, Return, LocalTask, Instance> = TaskResource<ArgsList, Return, LocalTask>

    Parameters

    • target: { value: Instance }
      • value: Instance

    Returns Instance

  • task<Return, Args, LocalTask>(context: object, task: LocalTask, thunk?: () => Args): TaskInstance<Return>
  • utility

    uses Resource to make ember-concurrency tasks reactive.


    note

    ember-resources does not provide or depend on ember-concurrency. If you want to use task, you'll need to add ember-concurrency as a dependency in your project.

    example

    When this.id changes, the task will automatically be re-invoked.

    import { tracked } from '@glimmer/tracking';
    import { restartableTask, timeout } from 'ember-concurrency';
    import { task as trackedTask } from 'ember-resources/util/ember-concurrency';

    class Demo {
    @tracked id = 1;

    last = trackedTask(this, this.searchTask, () => [this.id]);

    @restartableTask
    *searchTask(id) {
    yield timeout(200);
    yield fetch('...');

    return 'the-value';
    }
    }
    Available Properties:
    {{this.last.value}}
    {{this.last.isFinished}}
    {{this.last.isRunning}}
    {{this.last.value}}

    (and all other properties on a TaskInstance)

    Type parameters

    • Return = unknown

    • Args: unknown[] = unknown[]

    • LocalTask: TaskIsh<Args, Return, LocalTask> = TaskIsh<Args, Return>

    Parameters

    • context: object
    • task: LocalTask
    • Optional thunk: () => Args
        • (): Args
        • Returns Args

    Returns TaskInstance<Return>

  • trackedTask<Return, Args, LocalTask>(context: object, task: LocalTask, thunk?: () => Args): TaskInstance<Return>
  • Type parameters

    • Return = unknown

    • Args: unknown[] = unknown[]

    • LocalTask: TaskIsh<Args, Return, LocalTask> = TaskIsh<Args, Return>

    Parameters

    • context: object
    • task: LocalTask
    • Optional thunk: () => Args
        • (): Args
        • Returns Args

    Returns TaskInstance<Return>

Generated using TypeDoc