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

沒有resolve及reject的Promise是否會造成內存泄露

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

正文

DevTools測試

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

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

執(zhí)行queryObjects(Promise)

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

測試事件回調

還可以測試一下通過事件回調來 resolve 的情況:

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

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

可疑的泄露對象

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

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

以上就是沒有resolve及reject的Promise是否會造成內存泄露的詳細內容,更多關于Promise內存泄露的資料請關注腳本之家其它相關文章!

相關文章

最新評論

喀什市| 大渡口区| 白银市| 丹巴县| 安宁市| 东丽区| 大悟县| 凤凰县| 雷波县| 汉中市| 嘉兴市| 济阳县| 星子县| 镶黄旗| 台东市| 香格里拉县| 前郭尔| 平昌县| 嵊泗县| 开原市| 临高县| 星子县| 禹州市| 盘山县| 阿城市| 古丈县| 普兰店市| 青龙| 古浪县| 城固县| 青田县| 吉林省| 柳江县| 剑阁县| 化州市| 武穴市| 法库县| 台南市| 柘荣县| 石柱| 南宫市|