Class TaskQueue

名前は仮 Coroutineの上位互換?こちらはパラレル処理が可能

用語について(WIP)

  • Action(アクション):実際の処理。基本はGeneratorFunctionの形式で書く
  • Task(タスク):処理の概要。アクションに加えて「いつ」「どのように(引数で指定)」等の情報を持つ。オブジェクト型 T = { action: A }
  • Queue(キュー):タスクを実行順に並べた順列のイメージ -> Q = [ T1, T2, T3, ... ]

Q > T > A の順で粒度が細かくなるイメージ さらに複数のQueueを統括する上位概念も設定可能だが、それは別クラスで扱う?

Example

const ActionDic = new Map([
["hoge", (()=> {
const COUNT = 4
return function*() {
// todo
}
)()]
])
const queueRunner new TaskQueue(ActionDic, [])
}

// step on!
queueRunner.step()

Hierarchy

  • TaskQueue

Constructors

Properties

_currentTaskList?: SerialQueueTask<any>[]
_queueProgressGenerator: null | Generator<number, void, unknown> = null
_taskContext: any = null
_tasksInProgress: Generator<unknown, any, unknown>[] = []
active: boolean = true
ActionDictionary: ActionDictionary<string> = ...

アクション辞書

Accessors

Methods

  • Parameters

    • taskGen: Generator<unknown, any, unknown>

    Returns Generator<unknown, any, unknown>[]

  • いらない?

    Parameters

    • index: number

    Returns Generator<unknown, any, unknown>[]

  • タスクを実行中配列に追加

    Parameters

    • queueTask: QueueTaskCommon<any>

    Returns void

  • Queue及び進行中タスクを進める next? tick?にする?

    Returns void

  • Parameters

    • dic: ActionDictionary<string>

    Returns void

Generated using TypeDoc