Class Coroutine

コルーチン

Example

const foo = {x: 1}

// Set up
const coroutine = new Coroutine();
coroutine.addTask({
action: function*() { foo.x++; }
});
coroutine.start();

// Run
coroutine.step();
console.log(foo); // 2

Hierarchy

Constructors

Properties

_generator?: Generator<unknown, any, unknown>
_isAwake: boolean = true
_loop: boolean = false
_taskList: CoroutineTask[] = []

Accessors

  • get dead(): boolean
  • [jp] 稼働中の内部ジェネレータがあるかどうかを返す

    [en] Returns true when inner-generator doesn't exists

    Returns boolean

  • get isAwake(): boolean
  • [jp] 稼働状態を返す。 falseの際はstepを実行しても進まない pause/resumeなどで更新

    [en] Return isAwake

    Returns boolean

Methods

  • [jp] タスクを追加

    [en] Add coroutine task

    Returns

    this

    Parameters

    • taskObj: CoroutineTask

      func<*function>とarguments<any[]>をもったオブジェクト

    • resetAfterAdding: boolean = false

      追加後に内部Generatorをリセットするかどうか

    Returns Coroutine

  • [jp] 内部Generatorをクリア(コルーチン処理消去)

    [en] Clear current running generator.

    Returns

    this

    Returns Coroutine

  • [jp] 処理をポーズする(step処理をスキップするようにする)

    [en] Pause coroutine stepping.

    Returns

    this

    Returns Coroutine

  • [jp] taskリストからジェネレーターをリセット

    [en] Reset

    Returns

    this

    Returns Coroutine

  • [jp] ポーズ中の処理を再開

    [en] Resume coroutine stepping.

    Returns

    this

    Returns Coroutine

  • [jp] ループを設定

    [en] Whether to reset generator after it is "done".

    Returns

    this

    Parameters

    • flag: boolean = true

    Returns Coroutine

  • [jp] step可能にする 内部ジェネレーターリセットも兼ねる

    [en] Reset and enable coroutine stepping

    Returns

    this

    Returns Coroutine

  • [jp] ルーチン処理を進める ループが有効な場合はジェネレーターをリセットする

    [en] Step inner Generator

    Returns

    稼働状態であればnext結果を返す

    Returns void | IteratorResult<any, any>

  • [jp] taskリストをジェネレーターオブジェクトに変換

    [en] convertTaskListToGenarator

    Returns

    Converted Generator

    Parameters

    Returns Generator<unknown, void, unknown>

Generated using TypeDoc