Blame view

天文台pc/tianwentai-ui/node_modules/@react-dnd/asap/src/TaskFactory.ts 427 Bytes
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  import { RawTask } from './RawTask.js'
  import type { Task } from './types.js'
  
  export class TaskFactory {
  	private freeTasks: RawTask[] = []
  
  	public constructor(private onError: (err: any) => void) {}
  
  	public create(task: () => void): Task {
  		const tasks = this.freeTasks
  		const t = tasks.length
  			? (tasks.pop() as RawTask)
  			: new RawTask(this.onError, (t) => (tasks[tasks.length] = t))
  		t.task = task
  		return t
  	}
  }