最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Promise并發(fā)下載m3u8視頻

2023-05-15 22:49 作者:小老虎Tigger  | 我要投稿

由于很多視頻網(wǎng)站是根據(jù)m3u8文件來播放視頻,所以如果要下載視頻,就要下載對應(yīng)m3u8文件,再去根據(jù)m3u8文件解析獲取到所有單個文件的url,然后下載每一個單獨(dú)的文件,再合并。

我們先需要解析一下m3u8文件,獲取所有url

m3u8文件

如果視頻文件比較大,那么獲取到的url數(shù)量可能會有上百個,如果我們每一個請求都是同步順序完成,比較耗費(fèi)時間。一般情況下,都會使用Promise.all來處理,但是Promise.all并不能一直保持固定的請求數(shù),假設(shè)我們有100個請求,在100個請求沒有完成之前,需要一直保持有10個請求在執(zhí)行(不考慮瀏覽器限制),如果每次使用Promise.all發(fā)送10個請求,那么在這10個請求中的其中兩個完成后,并沒有其他請求補(bǔ)充進(jìn)來,這個時候?qū)嶋H上只有8個請求在執(zhí)行。

那么,我們來簡單實(shí)現(xiàn)一個并發(fā)的函數(shù),讓100個請求在完全執(zhí)行完之前,都保持著固定數(shù)量的連接數(shù)量。

首先,我們定義一個函數(shù),接受兩個參數(shù),一個是url列表,一個是最大連接數(shù)。函數(shù)返回一個Promise,所有請求成功,返回所有結(jié)果的result,如果有某個請求失敗,則reject。

核心是在每個請求完成之后繼續(xù)消耗url列表,一直保持設(shè)置的并發(fā)數(shù)量。


Promise并發(fā)下載m3u8視頻的評論 (共 條)

分享到微博請遵守國家法律
长春市| 仪陇县| 利津县| 常德市| 霞浦县| 嘉黎县| 迁西县| 黄浦区| 南召县| 大足县| 余庆县| 青河县| 黎川县| 乐昌市| 犍为县| 南木林县| 阳城县| 肥城市| 从化市| 蓬安县| 汉沽区| 阿瓦提县| 沙田区| 西峡县| 南昌县| 望江县| 宁强县| 石阡县| 略阳县| 宜兰县| 剑川县| 郁南县| 舟山市| 顺平县| 佛坪县| 贞丰县| 新乡市| 二连浩特市| 嘉善县| 临汾市| 张掖市|