最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

沒有resolve及reject的Promise是否會(huì)造成內(nèi)存泄露

 更新時(shí)間:2022年08月05日 09:31:59   作者:紫云飛  
這篇文章主要為大家介紹了一直沒有resolve及reject的Promise是否會(huì)造成內(nèi)存泄露的問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

DevTools測(cè)試

可以用 DevTools 的 queryObjects()函數(shù)配合 setTimeout()來測(cè)試一下:

可以看到 1 萬個(gè) pending 的 promise 對(duì)象都不會(huì)被回收,直到 10 秒鐘以后,再次執(zhí)行queryObjects(Promise)

執(zhí)行queryObjects(Promise)

那 1 萬個(gè) promise 對(duì)象是被回收了,但又多出一個(gè) pending 的 promise 對(duì)象,可能是 DevTools 上執(zhí)行命令的副作用。

測(cè)試事件回調(diào)

還可以測(cè)試一下通過事件回調(diào)來 resolve 的情況:

點(diǎn)擊一下頁面后,再次執(zhí)行 queryObjects(Promise),居然已經(jīng) resolve 了的 1 萬個(gè) promise 對(duì)象還是沒被回收,不懂了。

總之,queryObjects()可以遍歷出 V8 堆上以某對(duì)象為原型的對(duì)象們,而且執(zhí)行前會(huì)先做一次垃圾回收,學(xué)到這個(gè)就夠了。

可疑的泄露對(duì)象

另外如果你真找到了可疑的泄露對(duì)象,卻不知道被誰引用了,Safari 的 DevTools 剛剛實(shí)現(xiàn)了一個(gè)叫 queryHolders(target)的函數(shù),它可以找到某個(gè)對(duì)象被哪些對(duì)象所引用了:

V8 的人看到了表示 V8 底層也支持這個(gè)功能,Chrome DevTools 上也可以加,估計(jì)很快就能實(shí)現(xiàn)了。

以上就是沒有resolve及reject的Promise是否會(huì)造成內(nèi)存泄露的詳細(xì)內(nèi)容,更多關(guān)于Promise內(nèi)存泄露的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

荆州市| 庆元县| 闽清县| 富蕴县| 葵青区| 广灵县| 堆龙德庆县| 东莞市| 津市市| 大连市| 岳池县| 海兴县| 隆安县| 微山县| 平山县| 吉安县| 清水县| 涿鹿县| 金山区| 遂川县| 宁波市| 武汉市| 阳谷县| 浦北县| 烟台市| 沛县| 瑞金市| 湖南省| 兴山县| 安仁县| 防城港市| 黎平县| 平潭县| 高雄县| 呼伦贝尔市| 营山县| 建德市| 汶川县| 兰考县| 合水县| 南陵县|