优化:优化播放逻辑去除多个方法共享属性导致的逻辑错误

This commit is contained in:
JianYu Zheng
2025-08-15 11:26:14 +08:00
parent 7c0df908e9
commit 4423cb85c2
2 changed files with 1525 additions and 1454 deletions
@@ -7,9 +7,16 @@ export default class BlockingQueue {
#emptyResolve = null;
/* 生产者:把数据塞进去 */
enqueue(item) {
this.#items.push(item);
enqueue(item, ...restItems) {
if (restItems.length === 0) {
this.#items.push(item);
}
// 如果有额外参数,批量处理所有项
else {
const items = [item, ...restItems].filter(i => i);
if (items.length === 0) return;
this.#items.push(...items);
}
// 若有空队列闸门,一次性放行所有等待者
if (this.#emptyResolve) {
this.#emptyResolve();
File diff suppressed because it is too large Load Diff