欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

正文

DevTools測(cè)試

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

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

執(zhí)行queryObjects(Promise)

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

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

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

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

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

可疑的泄露對(duì)象

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

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

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

相關(guān)文章

  • js中ES6繼承和ES5繼承之間的差別

    js中ES6繼承和ES5繼承之間的差別

    這篇文章主要介紹了ES6繼承和ES5繼承,以及兩個(gè)繼承之間的差別,文中運(yùn)用示例以及代碼講解的非常清晰,感興趣的小伙伴可以參考一下
    2021-08-08
  • JavaScript前端迭代器Iterator與生成器Generator講解

    JavaScript前端迭代器Iterator與生成器Generator講解

    這篇文章主要為大家介紹了JavaScript前端迭代器Iterator與生成器Generator講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • JS?ES新特性之變量的解耦賦值

    JS?ES新特性之變量的解耦賦值

    這篇文章主要介紹了JS?ES新特性變量的解耦賦值,ECMAScript?2015中允許按照一定模式,從數(shù)組和對(duì)象中提取值,對(duì)變量進(jìn)行賦值,這被稱為?解耦賦值?,下面一起進(jìn)入文章學(xué)習(xí)該內(nèi)容,需要的朋友也可以參考一下
    2021-12-12
  • You-Dont-Know-JS作用域?qū)W習(xí)文檔

    You-Dont-Know-JS作用域?qū)W習(xí)文檔

    這篇文章主要介紹了You-Dont-Know-JS作用域?qū)W習(xí)文檔,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • 制作特殊字的腳本

    制作特殊字的腳本

    制作特殊字的腳本...
    2006-06-06
  • 微前端之?js隔離?樣式隔離?元素隔離問(wèn)題詳解

    微前端之?js隔離?樣式隔離?元素隔離問(wèn)題詳解

    這篇文章主要為大家介紹了微前端之?js隔離?樣式隔離?元素隔離問(wèn)題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • quickjs 封裝 JavaScript 沙箱詳情

    quickjs 封裝 JavaScript 沙箱詳情

    這篇文章主要介紹了 quickjs 封裝 JavaScript 沙箱,在前文 JavaScript 沙箱探索 中聲明了沙箱的接口,并且給出了一些簡(jiǎn)單的執(zhí)行任意第三方 js 腳本的代碼,但并未實(shí)現(xiàn)完整的 IJavaScriptShadowbox,下面便講一下如何基于 quickjs 實(shí)現(xiàn),需要的朋友可以參考一下
    2021-10-10
  • JavaScript獲取上傳文件相關(guān)信息示例詳解

    JavaScript獲取上傳文件相關(guān)信息示例詳解

    這篇文章主要為大家介紹了JavaScript獲取上傳文件相關(guān)信息示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 微前端qiankun改造日漸龐大的項(xiàng)目教程

    微前端qiankun改造日漸龐大的項(xiàng)目教程

    這篇文章主要為大家介紹了微前端qiankun改造日漸龐大的項(xiàng)目教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 微信小程序 radio單選框組件詳解及實(shí)例代碼

    微信小程序 radio單選框組件詳解及實(shí)例代碼

    這篇文章主要介紹了微信小程序 radio單選框組件詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-01-01

最新評(píng)論