【发布时间】:2023-04-10 20:08:01
【问题描述】:
这是我需要做的, 我需要按顺序排列整个 youtube 播放列表,所以我需要做这样的事情
const track_names = await sp.get_playlist_track_names(link);
for (let i = 0; i < track_names.length; i++){
queue[last_index] = await yt.get_video(track_names[i]);
}
所以你可以想象这太慢了,因为如果我尝试将 100 首歌曲的播放列表排入队列,直到我获得所有歌曲信息后它才会开始播放。
有更快的方法吗?或者播放第一首歌,让程序执行函数play_song(),而我的函数get_tracks_info()获取剩余的歌曲。
【问题讨论】:
-
投票重新开放,因为 OP 不想等待所有承诺解决,他们特别想在第一个承诺解决后立即做某事
-
使用observer api观察变量变化,不要等待任何promise。
-
在循环中添加
if (i == 0) play_song()? -
如何使用Promise.race 等待任何歌曲下载完成 -> 然后开始播放并下载其余歌曲?
标签: javascript node.js discord