From 390be821d667eebdf20706af90110b9e837131fe Mon Sep 17 00:00:00 2001 From: Harvey Zack Date: Tue, 4 Jun 2024 19:20:26 +0800 Subject: [PATCH] feat: Refactor danmuku.js to use async/await for emitting danmus --- packages/artplayer-plugin-danmuku/src/danmuku.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/artplayer-plugin-danmuku/src/danmuku.js b/packages/artplayer-plugin-danmuku/src/danmuku.js index b2986cf56..446470423 100644 --- a/packages/artplayer-plugin-danmuku/src/danmuku.js +++ b/packages/artplayer-plugin-danmuku/src/danmuku.js @@ -283,7 +283,13 @@ export default class Danmuku { this.queue = []; // 清空实际弹幕队列 this.$danmuku.innerText = ''; // 清空弹幕层 - this.danmus.forEach((danmu) => this.emit(danmu)); // 逐个验证原始弹幕并转换为实际弹幕 + + // 逐个验证原始弹幕并转换为实际弹幕 + for (let index = 0; index < this.danmus.length; index++) { + const danmu = this.danmus[index]; + await this.emit(danmu); + } + this.art.emit('artplayerPluginDanmuku:loaded', this.queue); } catch (error) { this.art.emit('artplayerPluginDanmuku:error', error); @@ -294,7 +300,7 @@ export default class Danmuku { } // 把原始弹幕转换为实际弹幕 - emit(danmu) { + async emit(danmu) { const { clamp } = this.utils; this.validator(danmu, {